在Python中调用父构造函数

这个问题在这里已经有了答案:

  • 如何调用超级构造函数? 5个答案

  • 你这样做的方式确实是推荐的(对于Python 2.x)。

    这个类是否被明确地传递给super是一个风格问题而不是功能问题。 传递类super符合Python的“显式优于隐式”的哲学。


    Python 3包含一个改进的super(),它允许像这样使用:

    super().__init__(args)
    

    你可以简单地写:

    class A(object):
    
        def __init__(self):
            print "Constructor A was called"
    
    class B(A):
    
        def __init__(self):
            A.__init__(self)
            # A.__init__(self,<parameters>) if you want to call with parameters
            print "Constructor B was called"
    
    class C(B):
    
        def __init__(self):
            # A.__init__(self) # if you want to call most super class...
            B.__init__(self)
            print "Constructor C was called"
    
    链接地址: http://www.djcxy.com/p/26785.html

    上一篇: calling parent constructors in python

    下一篇: How does Python's "super" do the right thing?