MFB*_*MFB 29 python inheritance initialization class
我创建了一个基类:
class Thing():
def __init__(self, name):
self.name = name
Run Code Online (Sandbox Code Playgroud)
我想扩展类并添加到init方法,以便它SubThing具有a name和time属性.我该怎么做?
class SubThing(Thing):
# something here to extend the init and add a "time" property
def __repr__(self):
return '<%s %s>' % (self.name, self.time)
Run Code Online (Sandbox Code Playgroud)
任何帮助都是极好的.
Jes*_*sse 38
您可以__init__在子类中定义并调用super以__init__适当地调用父类的方法:
class SubThing(Thing):
def __init__(self, *args, **kwargs):
super(SubThing, self).__init__(*args, **kwargs)
self.time = datetime.now()
Run Code Online (Sandbox Code Playgroud)
确保具有基类子类,object但super不适用于旧式类:
class Thing(object):
...
Run Code Online (Sandbox Code Playgroud)