一尘不染

如何在Python中调用超级构造函数?

python

class A:
    def __init__(self):
        print("world")

class B(A):
    def __init__(self):
       print("hello")

B()  # output: hello

在所有其他与super构造函数一起使用的语言中,都是隐式调用的。如何在Python中调用它?我希望super(self)这是行不通的。


阅读 445

收藏
2020-02-18

共1个答案

一尘不染

super()在新样式类中返回类似父对象的对象:

class A(object):
    def __init__(self):
        print("world")

class B(A):
    def __init__(self):
        print("hello")
        super(B, self).__init__()

B()
2020-02-18