¿Cómo se obtiene una lista de todas las variables en una clase que es iterable? Algo así como los locales(), pero para una claseiterando sobre todas las variables miembro de una clase en python
class Example(object):
bool143 = True
bool2 = True
blah = False
foo = True
foobar2000 = False
def as_list(self)
ret = []
for field in XXX:
if getattr(self, field):
ret.append(field)
return ",".join(ret)
esto debe volver
>>> e = Example()
>>> e.as_list()
bool143, bool2, foo
Por qué no puede utilizar su uso 'para campo en [self.bool143, self.bool2, self.blah, self.foo, self.foobar2000]'? ¿Cómo ocurre que no se conocen las variables de instancia de la clase? –
S.Lott: eso es lo que terminé haciendo de todos modos. En mi código real, tengo como 40 variables, y pensé que sería mejor y más DRY no tener que hacer manualmente la lista de iteraciones. – priestc
Posible duplicado de [iteración sobre atributos de objeto en python] (https://stackoverflow.com/questions/11637293/iterate-over-object-attributes-in-python) –