三大特性:封装、继承、多态
成员:
字段 静态字段(每个对象都有一份)、普通字段(每个对象都不同的数据)
方法 静态方法(无需使用对象封装的内容)@staticmethod、类方法(会自动加当前类的类名 def xxx (cls):)@classmethod、普通方法(使用对象中的数据)
特性 普通特性(将方法伪造成字段) 方法上面加@property(执行的时候不用加括号 obj.xxx)
快速判断,类执行,对象执行:
有self,对象执行
无self,类执行
补充:
查找源码的过程(self.xxxx(),从底层开始找)
执行父类的构造方式:
super(当前类,self),init()
父类.__init__(self,xxx)
面向对象常用方法
__init__
__call__ r=Foo() r() 在类里面定义了 __call__方法后就可以实现
__delitem__ del r['wqe]
__getitem__ 这个方法可以用r[1]来访问对象 r[1:3]切片也可以取值
__setitem__ r['e']=213
__dict__ 可以用 类.__dict__ 展示所有类的成员
__iter__
__str__
__oo='xx'
这是成员修饰符 (在类的内部能调用,外部要通过 对象_类名__成员)
def __xxx():