3.3.2.4 __slots__

Per definizione, le istanze di classe sia di vecchio che di nuovo stile, hanno un dizionario per la memorizzazione degli attributi. Questo porta ad uno spreco di memoria per quegli oggetti che hanno pochissime variabili d'istanza. Tale consumo pu� essere notevole quando il numero di istanze create � enorme.

Il dizionario predefinito pu� essere sovrascritto definendo __slots__ in una classe di nuovo stile. La dichiarazione di __slots__ accetta una sequenza di variabili d'istanza e riserva per ognuna di esse spazio a sufficienza per conservare il valore di ciascuna variabile. Risparmia spazio perch� __dict__ non viene creato per ogni istanza.

__slots__
A questa variabile di classe si pu� attribuire una stringa, un tipo iterabile o una sequenza di stringhe aventi i nomi delle variabili utilizzati dalle istanze. Se __slots__ viene definito in una classe di nuovo stile, riserver� spazio per le variabili dichiarate ed eviter� la creazione automatica di __dict__ e __weakref__ per ogni istanza. Nuovo nella versione 2.2.

Note d'utilizzo di __slots__

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