python中的super()和__init__()方法有什么用-LMLPHP

__init__()一般用来创建对象的实例变量,或一次性操作。super()用于调用父类的方法,可用来解决多重继承问题。单继承中,super()和__init__()功能类似。

(推荐教程:python视频教程

主要区别:

使用super()继承则不用显式引用基类,父类发生变化时,利于维护;

super()只能用于新式类中,需要继承object对象。而在多重继承时,会涉及继承顺序,直接用类名调用父类方法会涉及查找顺序、重复调用等问题。super()则是返回继承顺序的下一个类,而不是父类。

单继承时super()和__init__()实现的功能是类似的

python中的super()和__init__()方法有什么用-LMLPHP

结果:

python中的super()和__init__()方法有什么用-LMLPHP

区别是使用super()继承时不用显式引用基类。

super不是父类,而是继承顺序的下一个类。在多重继承时会涉及继承顺序,super()相当于返回继承顺序的下一个类,而不是父类

以上就是python中的super()和__init__()方法有什么用的详细内容,更多请关注Work网其它相关文章!

09-14 13:37