In article <[EMAIL PROTECTED]>, Larry Bates <[EMAIL PROTECTED]> wrote:
> Because datetime is a new-style class: Ah. > The Constructor __new__ > > If you are like me, then you probably always thought of the __init__ method > as > the Python equivalent of what is called a constructor in C++. This isn't the > whole story. > > When an instance of a class is created, Python first calls the __new__ method > of > the class. __new__ is a static method that is called with the class as its > first > argument. __new__ returns a new instance of the class. > > The __init__ method is called afterwards to initialize the instance. In some > situations (think "unplickling"!), no initialization is performed. Also, > immutable types like int and str are completely constructed by the __new__ > method; their __init__ method does nothing. This way, it is impossible to > circumvent immutability by explicitly calling the __init__ method after > construction. > > > I think what you wanted was: > > >>> class ts(datetime): > ... def __new__(self): pass > ... > >>> a=ts() > > -Larry Thanks! rg -- http://mail.python.org/mailman/listinfo/python-list