本文主要是自己在学习python中的一点心得,用自己这个阶段的小白能理解的“人话”,把一些不是很复杂但确实难理解的知识点讲清楚、讲明白。
文中很多地方都用了简写、不规则命名方式,主要是想以弄懂知识点为主,大家不要学我,还是按规则敲代码。
要想理解__new__的用法,首先要搞明白 super() 函数的底层实现逻辑,至于为什么后文讲通了就明白了
super()函数
一、常用场景
在类的继承中,如果子类重定了父类的方法,就会覆盖父类的同名方法,想要再调用父类的这个同名方法有两种办法:
1.使用未绑定方法
父类名.同名方法名(参数)
2.使用super()函数
2.0写法:super(子类名,self).父类方法名(父类方法参数)
3.0写法:super().父类方法名(父类方法参数)
最常用到super()函数的情况就是在子类中调用父类的构造方法
因为子类要创建自己的构造方法,就一定要在自己的构造方法中调用父类的构造方法,差不多这么写:
class ZiLei(FuLei):
def __init__(self):
super(ZiLei,self).__init__(a,b)
二、深入研究
假设现在有4个类: