虽然学习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