-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