引言:
python
类是对象的定义,而实例是“真正的实物”。
编程
class NewObjectType(bases): 'define NewObjectType class' class_sui
最简单的状况把类用做名称空间。能够把数据保存在变量中,对他们按名称空间进行分组。函数
面向对象编程:ui
加强告终构化编程,实现了数据与动做的融合‘
spa
类属性:code
属性也是一个对象,拥有本身的属性,能够访问,这造成了一个属性链。
对象
没有实例,方法不能被调用。面向对象编程
查看类有那些属性:dir()、属性__dict__class
特殊的类属性:__name__, __doc__,__bases__,__dict__,__module__,__class__.变量
实例属性:
经过调用类对象来建立实例 mc = Myclass().
若是定义了构造器,它不该该返回任何对象。
dir()也能够打印实例属性。
特殊的实力属性__class__,__dict__.
给一个与类属性同名的实例属性赋值,会遮蔽类属性。(在类属性可变的状况下,一切就不一样了。)
类属性的修改会影响到全部的实例。
绑定与方法调用:
self变量用于在类实例方法中引用方法所绑定的实例。
静态方法和类方法;
staticmethod()和classmethod()内建函数。
使用函数修饰符。@staticmethod、@classmethod。
子类和派生:
OOP最强大的一个功能是使用一个已经定义好了的类,扩展它或对它进行修改。
super()内建方法,不但能找到基类方法,还能传进self。
类、实例和其余对象的内建函数:
isoubclass(sub, sup).布尔函数判断一个类是另外一个类的子类或子孙类。第二个参数能够是父类组成的元组。
isinstance(obj1, obj2)布尔函数判断一个对象是不是另外一个给定类的实例或者子类的一个实例。
attr系列函数能够在各类对象下工做,不限于类和实例。attr(obj, 'attr')
super()找出相应的父类。
vars()内建函数与dir()函数类似。