Как использовать строку как инструкцию - PullRequest
2 голосов
/ 20 июня 2020

Я хочу преобразовать строку в инструкцию, которую я могу использовать в моем коде Python -3.
Например, если у меня есть несколько строк в списке, я хочу преобразовать каждую строку в код "что я могу использовать вот так self.ids.'converted_string'.do_something.

Я видел другие сообщения, использующие exec() или setattr(), но в первом случае я не хочу преобразовывать свою строку в переменную со значением , а в другом случае у меня нет объекта для изменения.

Возможно, я неправильно понимаю, как работают эти функции (может быть, они могут работать для меня?), но тогда я не знаю, как использовать им.

Ответы [ 2 ]

2 голосов
/ 20 июня 2020

Вам нужно getattr:

getattr (object, name [, default])

Возвращает значение указанного атрибута объект. имя должно быть строкой. Если строка является именем одного из атрибутов объекта, результатом будет значение этого атрибута. Например, getattr (x, 'foobar') эквивалентно x.foobar. Если именованный атрибут не существует, возвращается значение по умолчанию, если оно предоставлено, в противном случае возникает AttributeError.

Таким образом, вы можете сделать:

getattr(self.ids, 'converted_string').do_something
2 голосов
/ 20 июня 2020

Вы говорите об атрибуте . Используйте getattr как это:

getattr(self.ids, 'converted_string').do_something
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...