-1
class A():
def __init__(self):
print("A")
class B():
def __init__(self):
super()
print("B")
B()
此代码打印"B"
。我的期望是,它会打印超级构造函数中的打印语句不打印
A
B
或至少
B
A
。 为什么只打印B?
class A():
def __init__(self):
print("A")
class B():
def __init__(self):
super()
print("B")
B()
此代码打印"B"
。我的期望是,它会打印超级构造函数中的打印语句不打印
A
B
或至少
B
A
。 为什么只打印B?
校正:
class A(object):
def __init__(self):
print "A"
class B(A): # Inherit A class
def __init__(self):
super(B, self).__init__() # Call A constructor
print "B"
super
本身只是返回到父类的引用。你实际上需要调用相关的方法:
super().__init__()
那么,你根本不使用'A()',而是使用'main()'或'B()'。另外:什么是“超()”? – MERose