从内置类继承

2 投票
1 回答
1309 浏览
提问于 2025-04-16 09:02

我想给datetime.datetime这个对象添加一些方法。看起来我们只能通过继承它来添加这些新方法。问题是,这些方法需要更新基类的日期、月份和年份的值,而我无法用新的参数调用基类的初始化方法。

我该怎么做呢?

1 个回答

2

你可以调用父类的 __init__ 方法。

class Foo(datetime.datetime):
    def __init__(self, argument):
         datetime.datetime.__init__(self, argument)

这里的关键是,你需要明确地调用 __init__ 方法,并且要手动提供第一个 self 参数,这个参数通常是 Python 自动提供的。

另外,别忘了 *** 这两种调用技巧,它们可以帮助你处理那些你不想手动处理的参数,但你仍然希望能够传递给父类的构造函数。

撰写回答