这个按预期工作。
def outer_func():
from time import *
print time()
outer_func()
我可以在上下文中定义嵌套函数,并从其他嵌套函数中调用它们:
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:因为它包含具有自由变量的嵌套函数,所以在函数“outer_func”中不允许使用import *
:
def outer_func():
from time import *
def inner_func():
print time()
inner_func()
outer_func()
我知道这不是最佳实践,但为什么它不能工作?
SyntaxError: import * only allowed at module level
。我已经添加了 python-2.x 标签以澄清。 - Wilfred Hughesnested2.py:1: SyntaxWarning: import * only allowed at module level\n def outer_func():\n1353343092.54
- Wilfred Hughes