【什么是魔法方法】:
名称前后有双下划线(注意,后面也有)的方法,这些方法会在特定情况下由Python自动调用,几乎没有直接调用的必要,例如 __init__(self) 构造函数方法。
是为了方便程序员为自定义类实现某一Python类的固有属性或者规则 而准备的用户接口。例如让自定义类能够迭代,实现类的加法。
【Python多态的实现】:Python的多态的实现基于规则。不必像其它语言一样必须继承某个类或者接口。例如,只需实现几个特定的表示规则的方法,即可让自定义类能够具有可迭代特性,
【区别于私有属性】:类内部以单下划线,双下划线开头的变量,结尾不含下划线
【基本的序列和映射规则】:
__len__(self):查看类的长度
__getitem__(self,key):通过下标访问元素
__setitem__(self,key,value):通过下标修改元素
__delitem__(self,key):
......
【程序猿的懒惰】:魔法方法不胜枚举,挨个实现类死自己,人生苦短,该懒就懒!
通过继承子类化内建类型,使用父类中的默认实现,只对需要的部分进行重写,覆盖父类中的同名方法。
【其它魔法方法/属性】:
__bases__:属性,输出类的所有基类
__class__:属性,输入对象所属的类
__metaclass__=type:属性,指明使用新式类
__init__(self):构造函数
__del__(self):析构函数,Python有自己的垃圾回收器,垃圾回收器会在未来的某个时间内调用.