Sono interessato ad ascoltare alcune discussioni sugli attributi di classe in Python. Ad esempio, qual è un buon caso per gli attributi di classe? Per la maggior parte, non riesco a trovare un caso in cui un attributo di classe sia preferibile all'utilizzo di un attributo di livello modulo. Se questo è vero, allora perché averli in giro?Attributi Python Class vs. Module
Il problema che ho con loro, è che è quasi troppo facile da clobare un valore di attributo di classe per errore, e quindi il valore "globale" è diventato un attributo di istanza locale.
Sentitevi liberi di commentare su come si dovrebbe gestire le seguenti situazioni:
- valori costanti utilizzati da una classe e/o sottoclassi. Questo può includere chiavi del dizionario "numero magico" o indici di lista che non cambieranno mai, ma è possibile che sia necessaria l'inizializzazione una tantum.
- Attributo predefinito della classe, che in rare occasioni è stato aggiornato per un'istanza speciale della classe.
- Struttura dati globale utilizzata per rappresentare uno stato interno di una classe condivisa tra tutte le istanze.
- Una classe che inizializza un numero di attributi predefiniti, non influenzato dagli argomenti del costruttore.
Alcune Related Posts:
Difference Between Class and Instance Attributes
deve essere community wiki – SilentGhost