Python 中的 super(關鍵詞:Python/super)
阿新 • • 發佈:2018-12-09
super()
super()
可以實現在子類中呼叫父類的方法
# Python 2 >>> class Base(object): def __init__(self): print "Base initing..." >>> class Sub(Base): def __init__(self): print "Sub initing..." super(Sub, self).__init__() >>> s1 = Sub() Sub initing... Base initing...
# Python 3
>>> class Base:
def __init__(self):
print("Base initing...")
>>> class Sub(Base):
def __init__(self):
print("Sub initing...")
super().__init__()
>>> s1 = Sub()
Sub initing...
Base initing...
如果在子類中直接呼叫父類的方法,也可以實現同樣的功能。
但是,這就是硬編碼了,如果將來需求發生了變化,需要修改的地方會非常多。
這就是使用 super()
的優點:避免硬編碼。
參考文獻: