Python 协议和抽象基类
python 序列协议SequenceReversible,Collection__getitem__,__len____contains__, __iter__, __reversed__,index, and c......
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
>>>......