Pietro Battiston ha scritto:
[...]
Per fare quello che vuoi, devi utilizzare il __new__
Grazie mille, in effetti è proprio quello che mi serviva. Ma __new__
rimpiazza __init__?
No.
Trovi maggiori info qui:
http://www.python.org/doc/newstyle.html
Purtroppo la documentazione sulle "nuove" classi non è stata ancora del
tutto integrata nella documentazione ufficiale.
Nella documentazione ufficiale
(http://docs.python.org/ref/customization.html), sta scritto " If
__new__() returns an instance of cls, then the new instance's __init__()
method will be invoked"
In un'altra pagina sull'argomento
(http://www.wellho.net/mouth/1146_-new-v-init-python-constructor-alternatives-.html),
invece ho trovato scritto "If __new__ is defined on a class, it is
called in preference to __init__"
Ma il seguente codice non mi conferma né l'una né l'altra ipotesi!
#####################
import Tkinter
class finestra(Tkinter.Toplevel):
class finestra(object, Tkinter.Toplevel):
def __new__(cls):
print "uno"
return Tkinter.Tk()
def __init__(self):
print "due"
root=finestra()
#####################
> [...]
Manlio Perillo
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python