Python - Доступ к атрибутам объекта как в словаре - PullRequest
6 голосов
/ 27 января 2012
>>> my_object.name = 'stuff'
>>> my_str = 'name'
>>> my_object[my_str] # won't work because it's not a dictionary :)

Как получить доступ к полям my_object, определенным в my_str?

Ответы [ 3 ]

20 голосов
/ 27 января 2012
getattr(my_object, my_str)

Подробнее о getattr.

1 голос
/ 27 января 2012

Вы не можете сделать __dict__ -подход в целом. То, что всегда будет работать, это

getattr(myobject, my_str)

Если вам нужен диктоподобный доступ, просто определите класс с перегруженным оператором индекса.

1 голос
/ 27 января 2012
>>> myobject.__dict__[my_str]
'stuff'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...