Hi, I've read all of this. And I am clear about it. Thanks all. Best Regards!
Gabriel Genellina wrote: > At Tuesday 7/11/2006 21:47, Jia Lu wrote: > > > > In Python, the real constructor is called __new__, > > > > Carl Banks > > > >But the code below won't invoke __new__: > > Is this a question, or just for making things more and more confusing > to beginners? > > >class Test: > > def __new__(self, value): > > print "__new__",value > > For old-style classes __new__ is not used. On new-style classes it's > used mostly for dealing with immutable objects. The code should be: > > class NewStyle(object): > "A new style class inherits from object in some way" > def __new__(cls, value): > print "NewStyle.__new__",value > return super(NewStyle, cls).__new__(cls, value) > # return object.__new__(cls, value) for lazy people > > def __init__(self, value): > print "NewStyle.__init__",value > > class OldStyle: > "An old style class does not inherit from object" > def __init__(self, value): > print "OldStyle.__init__",value > > n = NewStyle(1) > o = OldStyle(2) > > > -- > Gabriel Genellina > Softlab SRL > > __________________________________________________ > Correo Yahoo! > Espacio para todos tus mensajes, antivirus y antispam ¡gratis! > ¡Abrí tu cuenta ya! - http://correo.yahoo.com.ar -- http://mail.python.org/mailman/listinfo/python-list