Estoy interesado en escuchar alguna discusión sobre los atributos de clase en Python. Por ejemplo, ¿cuál es un buen caso de uso para los atributos de clase? En general, no puedo encontrar un caso en el que un atributo de clase sea preferible al uso de un atributo de nivel de módulo. Si esto es cierto, entonces ¿por qué tenerlos?Python Clase vs. Módulo Atributos
El problema que tengo con ellos es que es casi demasiado fácil destruir un valor de atributo de clase por error, y entonces su valor "global" se ha convertido en un atributo de instancia local.
Siéntase libre de comentar sobre cómo manejaría las siguientes situaciones:
- valores constantes utilizados por una clase y/o sub-clases. Esto puede incluir claves de diccionario de "número mágico" o índices de lista que nunca cambiarán, pero que posiblemente necesiten una inicialización única.
- Atributo de clase predeterminado, que en raras ocasiones se actualizó para una instancia especial de la clase.
- Estructura de datos global utilizada para representar un estado interno de una clase compartida entre todas las instancias.
- Clase que inicializa una serie de atributos predeterminados, sin influencia de los argumentos del constructor.
Algunos Artículos Relacionados:
Difference Between Class and Instance Attributes
debería ser wiki de la comunidad – SilentGhost