类的难点
1 class A: 2 def bar(self): 3 print('bar') 4 self.f1()# 找对象的f1,不是当前类的f1 5 class B(A): 6 def f1(self): 7 print('B') 8 class C: 9 def f1(self): 10 print('C') 11 class D(C,B): 12 pass 13 14 d1 = D() 15 d1.bar()
1 class annimail: 2 def __init__(self): 3 print('A的构造方法') 4 self.ty = '动物' 5 6 class cat(annimail): 7 def __init__(self): 8 print('B的构造方法') 9 self.n = '猫' 10 # 继承A的构造方法 11 super(cat,self).__init__() 12 13 c= cat() 14 print(c.__dict__)
resul:
B的构造方法
A的构造方法
{'n': '猫', 'ty': '动物'}
1 class provence: 2 # 静态字段 3 country ='china' 4 # 静态方法 5 @staticmethod 6 def xo(a,b): 7 print(a+b) 8 #类方法(至少传一个cls参数,打印类名字,静态方法的特殊用法) 9 @classmethod 10 def xxoo(cls): 11 print(cls) 12 # 构造函数 13 def __init__(self,name): 14 self.name = name 15 # 普通方法 16 def show(self): 17 print('show')