Как вы получаете список всех переменных в итеративном классе? Вроде как местные жители(), но для классаЗацикливание всех переменных-членов класса в 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)
это должно вернуть
>>> e = Example()
>>> e.as_list()
bool143, bool2, foo
Почему нельзя использовать использовать 'для поля в [self.bool143, self.bool2, self.blah, self.foo, self.foobar2000]'? Как получается, что вы не знаете переменные экземпляра класса? –
S.Lott: Это то, что я в конечном итоге сделал. В моем реальном коде у меня есть 40 переменных, и я подумал, что было бы лучше, и больше DRY не нужно вручную составлять список итераций. – priestc
Возможный дубликат [Итерация над объектными атрибутами в python] (https://stackoverflow.com/questions/11637293/iterate-over-object-attributes-in-python) –