Python 类 --基础与要点
1:2.x与3.x区别:
2.x:老式类,都继承自object,继承机制为深度优先
3.x:新式类不需要写(object),继承机制为广度优先
2:类说明:
在定义类下用"""......"""包裹
查看方法:classname.__doc__ or help(classname)
3:classname()即是实例化,一般会赋值给一个变量
4:实例化过程:
1):__new__()方法建立实例
2):__init__()方法初始化实例
*自定义元类即是改变这两个方法其一或both
4:类里定义普通方法记得第一个参数都是self
5:类的特殊属性:
__doc__:类的文档属性
__name__:类的名称
__base__:分类名称
6:__xxx__()为特殊方法-->有详解
e.g:__len__() len([1,2,3]) == [1,2,3].__len__()
__add__()
__call__() 使类可以象函数一样调用
__slot__() 限制类可以添加的属性
__iter__ 如果一个类想被用于for ... in
循环,类似list或tuple那样,就必须实现一个__iter__()
方法,该方法返回一个迭代对象
7:子类不能够继承父类的私有属性和方法!