Как получить список объектов класса?

У меня есть класс в котором имеются объекты, есть ли возможность получить список этих объектов, не считая способа когда я сам создаю список и добавляю объекты в него?

Пример

class Example(ExampleAbstract):
    obj1 = '1000321'
    obj2 = 10
    obj3 = SomethingClass.something_method

Ответы (1 шт):

Автор решения: Xander

Все аттрибуты класса можно увидеть с помощью специального метода __dict__. Правда, туда кроме явно созданных вами аттрибутов попадут и системные аттрибуты, но их легко отфильтровать, т.к. их название начинается и заканчивается двойным подчёркиванием:

print(
    {k: v for k, v in Example.__dict__.items()
     if not (k.startswith('__') and k.endswith('__'))
})

UPD на комментарий:

Имея название аттрибута, вы всегда можете как получить его значение

value = getattr(Example, k)
print(value)

так и заменить его на новое значение:

setattr(Example, k, new_value_obj)
→ Ссылка