3.3.2.2 Implementazione dei descrittori

I metodi che seguono si applicano solo quando un'istanza di classe contenente un metodo (chiamato anche classe descrittore) compare in una classe dizionario di un'altra classe di nuovo stile, conosciuta come classe di appartenenza. Nell'esempio sotto, ``l'attributo'' si riferisce a quello il cui nome costituisce la proprietà chiave nella classe di appartenenza __dict__. I descrittori stessi possono essere solo implementati come classi di nuovo stile.

__get__( self, instance, owner)
Chiamato per ottenere l'attributo della classe di appartenenza (accesso all'attributo di classe) o di un'istanza di quella classe (accesso all'attributo d'istanza). owner è sempre la classe di appartenenza, mentre instance è l'istanza, il cui attributo ha avuto accesso, oppure None quando si ottiene l'attributo mediante la classe di appartenenza. Questo metodo deve restituire il valore (calcolato) dell'attributo o sollevare l'eccezione AttributeError.

__set__( self, instance, value)
Chiamato per impostare ad un nuovo valore value, l'attributo in un'istanza instance della classe di appartenenza.

__delete__( self, instance)
Viene chiamato per cancellare l'attributo in un'istanza instance della classe di appartenenza.

Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.