Estoy tratando de encontrar la mejor manera de extender una variable de clase. Espero que un ejemplo del método que he presentado hasta ahora lo aclare.propiedades de la clase python
class A(object):
foo = ['thing', 'another thing']
class B(A):
foo = A.foo + ['stuff', 'more stuff']
Intento que la subclase herede y extienda la variable de clase primaria. El método anterior funciona, pero parece un poco tonto. Estoy abierto a cualquier sugerencia, incluso lograr algo similar usando un enfoque completamente diferente.
Obviamente, puedo seguir usando este método si es necesario, pero si hay una manera mejor en la que me gustaría encontrarlo.
¿Qué hay en 'foo' que tiene que ser un [clase de propiedad] (http: // stackoverflow.com/questions/128573/) y no solo una propiedad de instancia? (Para el caso, dado que las listas son mutables, puede * cambiar * la propiedad de la clase en el momento '__init__'.) – kojiro
En mi humilde opinión, lo que tiene se ve bien para mí (y no puedo pensar en una manera más limpia de hacerlo eso). Por cierto, yo llamaría a estos "atributos de clase", no a "propiedades de clase", ya que una propiedad es algo diferente (normalmente creado por la función/decorador incorporado 'propiedad'). – mgilson
@kojiro Él no se está refiriendo a ese tipo de propiedades, solo significa atributos. – Julian