如何在python中引用父方法?
这个问题在这里已经有了答案:
如果你知道你想使用A,你也可以用这种方式明确地引用A:
class B(A):
def f(self,num):
return 7 * A.f(self,num)
记住你必须明确地给成员函数Af()
使用super
:
return 7 * super(B, self).f(num)
或者在Python 3中,它只是:
return 7 * super().f(num)
与其他答案一致,有多种方法可以调用超类方法(包括构造函数),但是在Python-3.x中,该过程已被简化:
Python的2.X
class A(object):
def __init__(self):
print "world"
class B(A):
def __init__(self):
print "hello"
super(B, self).__init__()
Python的3.X
class A(object):
def __init__(self):
print "world"
class B(A):
def __init__(self):
print "hello"
super().__init__()
根据文档super(<containing classname>, self)
super()
现在等价于super(<containing classname>, self)
。