day14

魔法方法
总是被下划线包围,总能在适当的时候被自动调用。
构造
init(self,…)和_new_(cls,…)方法。
析构
del(self,…)方法,只有当所有的对对象的引用都被del后,才会调用该方法。

算术运算
day14
属性访问
day14
描述符Property的原理
协议(Protocols) 与其他编程语言中的接口很相似, 它规定你哪些方法必须要定义。然而,在Python中的协议就显得不那么正式。事实上,在Python中,协议更像是一种指南。
容器类型的协议
如果说你希望定制的容器是不可变的话,你只需要定义_len__ ()和getitem_ () 方法。如果你希望定制的容器是可变的话,除了_len_ ( )和 getitem ()方法,你还需要定义 setitem_ ()和__delitem_ () 两个方法。
描述符
day14迭代器 两个内置函数,iter()和next()
通常使用for语句进行迭代(或者while语句)

生成器(特殊的迭代器)(迭代器的一种实现)
在普通函数中加入一个yield语句。yield相当于函数中的return,但是不会一次全部打出,可以用next()依次打出。
列表推导式
a=[i for i in range(10) if not(i%2) and (i%3)]
字典推导式
a={i:i%2==0 for i in range(10)}
集合推导式
a={i for i in [1,1,2,3,4,5,6,7,8,3,2,1]}