Rumah  >  Artikel  >  pembangunan bahagian belakang  >  python中的super()和__init__()方法有什么用

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

silencement
silencementasal
2019-05-23 18:22:487528semak imbas

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()相当于返回继承顺序的下一个类,而不是父类

Atas ialah kandungan terperinci python中的super()和__init__()方法有什么用. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn