В Python почему не работает импорт в exec в функции?
Я могу поместить оператор импорта в строку, выполнить его, и он работает (печатает случайную цифру):
code = """
import random
def f():
print random.randint(0,9)
"""
def f():
pass
exec code
f()
Теперь, если я поставлюexec code
а такжеf()
в своей собственной функции и вызвать его, это нет работа.
def test():
exec code
f()
test()
Это говоритNameError: global name 'random' is not defined
, Любая идея, чтопроисходит? Спасибо