Джанго Питон Эвал - PullRequest
       1

Джанго Питон Эвал

0 голосов
/ 20 декабря 2011

У меня есть фрагмент кода, который я хотел бы абстрагировать от функции, которая имеет только одно небольшое изменение, которое должно быть динамическим

if myUser.profile.get_setting_c == True :
# below does not work but you get the idea, how 
if myUser.profile.eval('get_setting_c') == True :

Ответы [ 2 ]

4 голосов
/ 20 декабря 2011

Это то, что вы хотите?

getattr(myUser.profile, 'get_setting_c')

Кстати, использование eval считается плохой практикой в ​​python, см. Является ли использование eval в Python плохой практикой? .

0 голосов
/ 20 декабря 2011

Почему бы не

if eval('myUser.profile.get_setting_c') == True:

или

def fun(setting):
    return eval('myUser.profile.%s' % setting)

if fun('get_setting_c') == True:

?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...