Почему не выполняется следующая работа (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>
Спасибо!