首页  >  文章  >  后端开发  >  python中的super()和__init__()方法有什么用

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

silencement
silencement原创
2019-05-23 18:22:487529浏览

python中的super()和__init__()方法的作用:__init__()方法用来创建对象的实例变量,super()方法用于调用父类的方法。

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

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

(推荐教程:python视频教程

主要区别:

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

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

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

33674e917e7d59e30489c65ba28aaea.png

结果:

00fa3009c6490e7dbdc60391fb29a1c.png

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

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

以上是python中的super()和__init__()方法有什么用的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn