1、多继承以及 @MRO顺序
使用super( ).方法只调用其中一个父类的相同方法
默认使用当前类去匹配__mro__顺序。
类名.__mro__得到super( ) .方法的调用顺序。(c3算法)python解释器的默认算法。
- 注意super( 类名, self ).方法名与 * 对象名.方法 * 的区别
- 可以直接使用父类名.方法名( ) 直接确定要调用哪个父类的方法
2、( *args,**kwargs )元组+字典
3、类方法、实例方法、静态方法
1、相同点:在内存中,都归属于类
2、不同点:调用的方法不同
3、类方法:
- 由类调用
- 至少有一个cls参数
- 执行类方法时,自动将调用该方法的类赋值给cls
4、实例方法:
- 由对象调用
- 至少有一个self参数
- 执行实例方法时,自动调用该方法的对象赋值给self
5、静态方法: - 定义方法
- 在方法的上一行加个修饰器 * @staticmethod *
- 由类调用,无默认参数
4、property属性
- 1、定义方法:
在定义时,在实例方法的基础上添加 @property 装饰器,并且仅有一个self参数 - 2、调用时,无需括号
** 对象名.property 属性方法名 ** - 有返回值