sape hat geschrieben:Code: Alles auswählen
from datetime import datetime
class mydt(datetime):
def __init__(self, *args, **kwargs):
datetime.__init__(self,*args, **kwargs)
x = mydt(2007, 1, 10)
Abgesehen davon, dass das ja nicht tut was damiro wollte, passiert in dem __init__ auch nichts - wenn du vor das datetime.__init__ ein "print self" setzt, siehst du, dass das Objekt zu der Zeit schon mit den entspr. Werten erzeugt wurde.
So wie ich das verstanden habe, muss man alle immutable Objekte schon bei der Erzeugung mit __new__ initialisieren, da man sie ja danach auch in __init__ nicht mehr ändern kann
Code: Alles auswählen
class mydt(datetime):
def __new__(cls):
return datetime.__new__(cls, 2007, 1, 10)
x = mydt()
[url=http://www.leckse.net/artikel/meta/profilieren]Profilieren im Netz leicht gemacht[/url]