[PIPython] Membri di classe e membri di oggetto (lungo)
Luca Marrocco
buildup
Mer 30 Mar 2005 14:25:53 CEST
>>> class Persona:
... count = 0
... def __init__(self, nome):
... Persona.count += 1
... self.nome = nome
...
>>> me = Persona("luca")
>>> altro = Persona("altro")
>>> me.nome
'luca'
>>> altro.nome
'altro'
>>> me.count
2
>>> altro.count
2
>>> Persona.count
2
>>> dir(Persona)
['__doc__', '__init__', '__module__', 'count']
>>> dir(me)
['__doc__', '__init__', '__module__', 'count', 'nome']
>>> dir(altro)
['__doc__', '__init__', '__module__', 'count', 'nome']
forse questo esempio puo' esserti utile. La variabile count, definita a
livello di classe, appartiene alla classe Persona, all'oggetto me ed
all'oggetto altro. Una modifica a questa variabile che fa riferimento
alla stessa area di memoria impatta su tutte le tre entita'.
self.nome invece e' una variabile dell'oggetto me e dell'oggetto altro,
dunque fa riferimento a due area di memoria distinte ed i valori sono
indipendenti.
Luca
More information about the Python
mailing list