雖然學習Python中我有過的使用繼承類的初始化語法有些混亂。在各種例子我見過類似如下:Python的__init__語法
class Foo(Bar):
def __init__(self, arg, parent = None):
Bar.__init__(self, parent)
self.Baz = arg
etc.
雖然有時它只是
class Foo(Bar):
def __init__(self, arg):
Bar.__init__(self)
etc.
一個何時需要確保使用「父」作爲參數初始化函數?謝謝。
但是'超()'只與新樣式類作品在Python 2,或Python 3。它不與老式類在Python 2.工作確保您的基類是一種新型的類(繼承自'object')。 – Keith 2011-05-16 07:22:32
@Keith:正確的,雖然使用老式類不建議這些天,因爲它是一個很老的功能 – 2011-05-16 07:30:48
沒錯,但有些人仍然這樣做和OP似乎是遵循老的例子。所以我想我會指出,以防萬一。 – Keith 2011-05-16 08:44:40