¿Por qué no funciona lo siguiente (Python 2.5.2)?¿Por qué no puedo subclasificar datetime.date?
>>> 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)
quería crear una clase que era igual que datetime.date
, pero con una función diferente __init__
. Aparentemente mi función nunca se llama. En cambio, se llama al datetime.date.__init__
original y falla porque eso espera 3 argumentos y estoy pasando uno.
¿Qué está pasando aquí? ¿Y esto es una pista?
>>> datetime.date.__init__
<slot wrapper '__init__' of 'object' objects>
¡Gracias!
vea también http://stackoverflow.com/questions/309 129/why-cant-i-inherit-from-dict-and-exception-in-python – hop