一.继承
1.新式类:继承object类的类就是新式类.(python3x中都是新式类)
2经典类:不继承object类就是经典类.
3.python2x:默认所有类都不继承object.所以默认所有类都是经典类.
可以手动加上(object),这样就是新式类.
单继承>多继承:
单继承:
1.查询顺序
class A(object):#默认继承 name = "alex" def func(seif): print(666) class B(A): age = 12 b1 =B() b1.age b1.name
对象空间>>子类>>父类>>object空间
2.
只执行子类
class A(object):#默认继承 name = "alex" def func(seif): print(666) class B(A): age = 12
def dunc(self):
print('IN B")
b1 =B() b1.func #在子类找到了要执行的就不往上找了
3.既要执行父类的又要执行子类的方法
class A(object):#默认继承 name = "alex" def func(seif):
print(666) class B(A): age = 12 def dunc(self):
super().func() #第一种super(B,self).func()
A.func(self) #第二种
print('IN B") b1 =B() b1.func
3.多继承
新式类:广度优先.用最少的次数走完每个节点
class A: def func(self): print("A") class B(A): def func(self): print("B") class C(B): def func(self): print("C") class D(B,C): def func(self): print("D")
经典类:一直找,找到低