第九周笔记

魔术方法

__new__方法

创建对象,返回一个cls,调用init方法.一般都使用super.new()

可视化

__str__方法
__repr__方法
__bytes__方法

hash

__hash__方法,不定义该方法,使用父类的hash方法.
定义则返回定义的返回值.

__eq__方法,

判断两者是否相等.
如果定义了该方法,必须定义hash方法,该类才可以hash.

__bool__方法

如果不定义该方法,就会寻找__len()__函数,是0为假,否则为真.如果该函数也没有,所有的实例都会返回真.

运算符重载
容器相关的方法

第九周笔记

可调用对象

__call__方法
如果类中定义了该方法,实例就可以象函数一样调用.