[PIPython] Dati statici

Lethalman lethalman
Ven 25 Feb 2005 15:00:33 CET


Luca Fabbri wrote:
> Salve a tutti.
> Provengo dal mondo di programmazione Java.
> Vorrei capire in Python come si definiscono dati (variabili, oggetti)
> statici all'interno di una classe.
> Per i metodi ho trovato staticmethod ma non riesco a trovare
> l'informazione per i dati comuni.
> 
> Grazie.
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> La mailing list di python.it
> python a lists.python.it
> http://lists.python.it/cgi-bin/mailman/listinfo/python

Leggi il cookbook su www.italianpug.org, c'e' un tip che riguarda la 
funzione property().
Praticamente puoi specificare delle funzioni per leggere e scrivere la 
variabile, quindi potresti creare una funzione che di scrittura della 
variabile tipo questa, e quindi renderla costante poiche' non scrivibile:

 >>> class costanti(object):
...   def __init__(self):
...     self.__var = "costante"
...   def getVar(self): return self.__var
...   var = property(fget=getVar)
...
 >>> const = costanti()
 >>> print const.var
costante
 >>> const.var = "prova"
Traceback (most recent call last):
   File "<stdin>", line 1, in ?
AttributeError: can't set attribute
 >>> del const.var
Traceback (most recent call last):
   File "<stdin>", line 1, in ?
AttributeError: can't delete attribute

Oppure usare __setattr__ che forse diventa piu' veloce, ma questo sta a te.

-- 
www.iosn.it * Amministratore Italian Open Source Network
www.italianpug.org * Italian Python User Group Founder
www.fyrebird.net * Fyrebird Hosting Provider - Technical Department


More information about the Python mailing list