Как напечаталось значения атрибута __a объекта c?
Дан класс:
class C:
__a = 42
c = C()
print(...)
Что нужно написать вместо ..., чтобы напечаталось значения атрибута __a объекта c?
Ответы (2 шт):
Автор решения: CrazyElf
→ Ссылка
Смотрите, как можно найти это самостоятельно, если вы не знаете наверняка. В питоне есть такая встроенная функция dir, которая выдаёт список атрибутов объекта. Вы можете просто перебрать таким образом все атрибуты и посмотреть, в каких встречается искомое название как подстрока. Ну и можно сразу получить значение этого атрибута, используя метод __getattribute__:
print(*[f'c.{x} => {c.__getattribute__(x)}' for x in dir(c) if '__a' in x], sep='\n')
Вывод:
c._C__a => 42