0
Я пытаюсь запустить этот код, но он, кажется, что exec()
не выполняет строку внутри функции:Exec() не работает в функции python3.x
def abc(xyz):
for i in fn_lst:
s = 'temp=' + i + '(xyz)'
exec(s)
print (temp)
abc('avdfbafadnf')
Ошибки я получаю:
NameError Traceback (most recent call last)
<ipython-input-23-099995c31c78> in <module>()
----> 1 abc('avdfbafadnf')
<ipython-input-21-80dc547cb34f> in abc(xyz)
4 s = 'temp=' + i + '(word)'
5 exec(s)
----> 6 print (temp)
NameError: name 'temp' is not defined
fn_lst
список имен функций, то есть: ['has_at', 'has_num' ...]
Пожалуйста, дайте мне знать альтернативу exec()
если возможно в таком сценарии.