Это работает как ожидалось
def outer_func():
from time import *
print time()
outer_func()
Я могу определить вложенные функции в контексте fine и вызвать их из других вложенных функций:
def outer_func():
def time():
return '123456'
def inner_func():
print time()
inner_func()
outer_func()
Я могу импортировать отдельные функции:
def outer_func():
from time import time
def inner_func():
print time()
inner_func()
outer_func()
Это, однако, вызывает SyntaxError: import * is not allowed in function 'outer_func' because it contains a nested function with free variables
:
def outer_func():
from time import *
def inner_func():
print time()
inner_func()
outer_func()
Я знаю, что это не лучшая практика, но почему она не работает?