Python 重载运算符

一元运算符-(__neg__)一元取负算术运算符。 如果 x 是 -2, 那么 -x == 2。+(__pos__)一元取正算术运算符。 通常, x == +x, 但也有一些例外。~(__invert__)对整数按位......

Python 其它存储类型

python 列表很灵活,但不是所有需求下都是最好的选择。如果要存储大量数值的话,数组的效率更高。如果要频繁对序列做先进先出的操作,deque(双端队列)的速度应该会更快。如果需要频繁判断是否包含操作,set(集合)......

Python 对象引用

元组的相对不可变性 >>> t1 = (1, 2, [30, 40]) >>> t2 = (1, 2, [30, 40]) >>> t1 == t2 True &......

Python中 __new__ 和 __init__ 方法

1.初始化默认先调用 __new__() 方法,再调用 __init__() 方法。2.初始化对象是在 __new__() 中。测试:>>> class T: def __new__(self, ......

Python 可迭代对象、迭代器和生成器

iter函数解释器需要迭代对象 x 时, 会自动调用 iter(x)。内置的 iter 函数有以下作用:(1) 检查对象是否实现了 __iter__ 方法, 如果实现了就调用它, 获取一个迭代器。(2) 如果没有实现......

Python functools 模块中有用的装饰器

1. functools.lru_cache(maxsize=128, typed=False)maxsize 参数指定存储多少个调用的结果。 缓存满了之后, 旧的结果会被扔掉, 腾出空间。 为了得到最佳性能, ma......

Python 函数

在 Python 中, 函数是一等对象1).在运行时创建2).能赋值给变量或数据结构中的元素3).能作为参数传给函数4).能作为函数的返回结果>>> def factorial(n): """返回......

Python 字典与集合(一)

可散列数据类型原子不可变数据类型(str、 bytes 和数值类型) 都是可散列类型, frozenset 也是可散列的,元组中包含的所有元素都是可散列类型, 那么它也是可散列的。一般来讲用户自定义的类型的对象都是可......

Python 装饰器与闭包

1. 装饰器基础@decorate def target(): print('running target()') # 等效于: def target(): print('running target()') t......

Python 数据模型

python 特殊方法1. __len__ 和 __getitem__import collections,random # 用以构建只有少数属性但是没有方法的对象 Card=collections.namedtu......

Python 协程

例一>>> def gen1(): for char in 'Python': yield char for i in range(5): yield i >>&gt......

Python 用bisect管理已排序的序列

bisect 模块包含两个主要函数, bisect 和 insort, 两个函数都利用二分查找算法来在有序序列中查找或插入元素。bisect(haystack, needle) 在 haystack 里搜索 need......