[Python] Quando è opportuno usare @staticmethod?
Marco Giusti
marco.giusti a posteo.de
Sab 29 Nov 2014 12:01:51 CET
On Sat, Nov 29 2014, Marco Ippolito wrote:
> Ciao a tutti,
> mi potreste spiegare quando sarebbe opportuno, perchè più efficace od
> efficiente, usare @staticmethod invece di "inglobare" (scusate per il
> termine poco tecnico) una funzione all'interno di una classe python in
> modo normale?
>
> Marco
E' opportuno quando è utile disaccoppiare il metodo dall'oggetto. Per
esempio Pygtk non gestisce i riferimenti ciclici e mi è capitato di
individuare un memory leak perché un oggetto aveva un riferimento an un
oggetto Pygtk e a quest'ultimo avevo associato un metodo dell'oggetto
contenitore.
Ascii art time ;)
|-----------------------
| |
obj pygtk_obj method
| | | |
--------| ------------|
Avrei potuto utilizzare una normale funzione, ma volevo conservare una
coerenza e ordine nelle funzioni e staticmethod me lo permetteva.
m.
Maggiori informazioni sulla lista
Python