Interesuje mnie dyskusja na temat atrybutów klas w Pythonie. Na przykład, co jest dobrym przykładem użycia dla atrybutów klas? W przeważającej części nie mogę wymyślić przypadku, w którym atrybut klasy jest lepszy niż użycie atrybutu poziomu modułu. Jeśli to prawda, to po co je mieć?Python Class vs. Module Attributes
Problem z nimi związany polega na tym, że omyłkowe pomylenie wartości atrybutu klasy jest prawie zbyt łatwe, a następnie "globalna" wartość przekształciła się w atrybut instancji lokalnej.
Zapraszam do komentowania jak można obsługiwać następujące sytuacje:
- stałych używanych przez klasy i/lub podklasy. Może to obejmować klucze słownikowe lub indeksy "magicznej liczby", które nigdy się nie zmienią, ale możliwa jest potrzeba jednorazowej inicjalizacji.
- Domyślny atrybut klasy, który w rzadkich przypadkach był aktualizowany dla specjalnego wystąpienia klasy.
- Globalna struktura danych używana do reprezentowania wewnętrznego stanu klasy współużytkowanej między wszystkimi instancjami.
- Klasa, która inicjalizuje wiele domyślnych atrybutów, na które nie mają wpływu argumenty konstruktora.
Niektóre Podobne posty:
Difference Between Class and Instance Attributes
powinna być wspólnota wiki – SilentGhost