在面向对象编程中,从基类继承来扩展其功能是很常见的。在 Python 中,调用初始化基类的超级构造函数对于无缝类继承至关重要。
虽然在其他语言中,超级构造函数是隐式调用的,但 Python 需要显式调用。人们普遍认为 super(self) 就足够了,但事实并非如此。让我们探讨一下正确的做法。
Python 3 引入了调用 super 构造函数的简化方法:
class A(object): def __init__(self): print("world") class B(A): def __init__(self): print("hello") super().__init__() # Python 3 syntax
这里,后面是 super()通过 __init__() 显式调用 super 构造函数。
在 Python 2 中,需要稍微更详细的语法:
class A(object): def __init__(self): print "world" class B(A): def __init__(self): print "hello" super(B, self).__init__() # Python 2 syntax
这里, super 传递了类名 B 和 self 来引用当前实例。
掌握超级构造函数的正确调用在Python中至关重要。了解 Python 2 和 3 中语法的差异可确保无缝继承并防止代码中出现意外行为。
以上是Python中如何调用超级构造函数?的详细内容。更多信息请关注PHP中文网其他相关文章!