[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