一,继承
1,继承。
- 子类和父类有重名的方法会先调用子类有的方法
2,重写,在重新再子类里面定义一个和父类同名的方法
二,.多继承
1,多继承
2,多重继承关系
3,重写
4,基类
5,bases
# __bases__ 这个魔法属性可以帮我们查看一个类直接继承的父类
6,如果我想要在子类的方法里面调用父类的方法
方法一:类名没有实例能传给方法,所以1处必须要加self!!
方法二:super().play 多继承时只能调用直接父类的方法
super:根据打印出的mro关系去找上一层的方法
7,print(类名.mro)或双下划线mro 会打印出一个子类继承父类的关系表
三,魔法方法
规则:在学习任何一个魔法方法的时候首先要知道这个魔法方法在什么时候调用
-
add
# __add__ 方法 class A: def __add__(self,other): print(self) # self 接收的是左边a实例 print(other) # other 接收加号右边的1 # 在进行加法运算的时候就会自动调用__add__方法,就会执行定义在这个魔法方法下的代码,代码可以由你自己设置。 a = A() a + 12. str和repr原理(须return值)
3,call方法 在一个实例对象后面加括号调用的时候调用class A: def __call__(self): return '调用了__call__方法' aaa = A() print(aaa()) >>> 调用了__call__方法 所有的数据要被打印出来都是经过print4,