【发布时间】:2010-09-28 18:43:40
【问题描述】:
为什么以下方法不起作用(Python 2.5.2)?
>>> import datetime
>>> class D(datetime.date):
def __init__(self, year):
datetime.date.__init__(self, year, 1, 1)
>>> D(2008)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: function takes exactly 3 arguments (1 given)
我想创建一个类似于datetime.date 的类,但具有不同的__init__ 函数。显然我的函数永远不会被调用。相反,原来的 datetime.date.__init__ 被调用并失败,因为它需要 3 个参数,而我传入一个。
这里发生了什么?这是一个线索吗?
>>> datetime.date.__init__
<slot wrapper '__init__' of 'object' objects>
谢谢!
【问题讨论】:
标签: python oop datetime subclass