gpt4 book ai didi

python - 如何扩展 Python 类初始化

转载 作者:IT老高 更新时间:2023-10-28 22:08:29 25 4
gpt4 key购买 nike

我已经创建了一个基类:

class Thing():
def __init__(self, name):
self.name = name

我想扩展类并添加到 init 方法中,以便 SubThing 同时具有 nametime 属性。我该怎么做?

class SubThing(Thing):
# something here to extend the init and add a "time" property

def __repr__(self):
return '<%s %s>' % (self.name, self.time)

任何帮助都会很棒。

最佳答案

您可以在子类中定义 __init__ 并调用 super 以适本地调用 parent 的 __init__ 方法:

class SubThing(Thing):
def __init__(self, *args, **kwargs):
super(SubThing, self).__init__(*args, **kwargs)
self.time = datetime.now()

如果您仍在使用 Python 2.x,请确保基类是 object 的子类,因为 super 不适用于旧式类:

class Thing(object):
...

关于python - 如何扩展 Python 类初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12701206/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com