Я не могу найти выполненную функцию даже после исключения.
Это функция:
# function illustrating how exec() functions.
def exec_code():
LOC = """
def factorial(num):
fact=1
for i in range(1,num+1):
fact = fact*i
return fact
print(factorial(5))
"""
exec(LOC)
print(factorial)
# Driver Code
exec_code()
Однако это приводит к ошибке:
NameError Traceback (most recent call last)
<ipython-input-10-d403750cbbfb> in <module>
13
14 # Driver Code
---> 15 exec_code()
<ipython-input-10-d403750cbbfb> in exec_code()
10 """
11 exec(LOC)
---> 12 print(factorial)
13
14 # Driver Code
NameError: name 'factorial' is not defined
Я действительно хотел бы выполнить строковую функцию как шаблон выше.Кто-нибудь знает как это решить?Если exec не рекомендуется, есть ли другие решения?