Class Constructor

05/11/2007 - 10:58 von Ralf Becker | Report spam
Hallo,

ich m?chte von der Standardklasse datetime eine eigene Klasse mit
eigenem Konstruktor ableiten.

Implementiert habe ich das so:
#!/usr/bin/env python

from datetime import datetime

class MyDate(datetime):
def __init__(self,year):
pass

Verwende ich nun
MyDate(12)
erhalte ich vom Python Interpreter folgende Fehlermeldung:
Traceback (most recent call last):
File "./test.py", line 10, in ?
MyDate(12)
TypeError: function takes at least 3 arguments (1 given)

Warum tritt dieser Fehler auf oder wo steckt der Fehler?
Klar, __init__ von datetime ist als __init__(self,year,month,day)
definiert. Das sollte aber doch egal sein, da ich nur mein __init__
aufrufe?

Gruss und Dank
Ralf

Ralf Becker ralf@akk.org
Arbeitskreis Kultur und Kommunikation / Universitaet Karlsruhe
Paulckeplatz 1 76131 Karlsruhe
Tel 0721/96403-22 Fax 0721/608-4019
 

Lesen sie die antworten

#1 Marc BlackJack Rintsch
05/11/2007 - 11:26 | Warnen spam
On Mon, 05 Nov 2007 09:58:47 +0000, Ralf Becker wrote:

ich m?chte von der Standardklasse datetime eine eigene Klasse mit
eigenem Konstruktor ableiten.



`datetime.datetime` hat einen echten Konstruktor, Du musst also
`__new__()` überschreiben.

Ciao,
Marc 'BlackJack' Rintsch

Ähnliche fragen