11
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: 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()
我知道這不是最佳實踐,但它爲什麼不起作用?
有意思的問題... – mgilson
「這個按預期工作」 - 在哪個python版本中? – georg
@ thg435 Python 2. Python 3更嚴格,拒絕第一個例子'SyntaxError:import *只允許在模塊級別'。我已經添加了python-2.x標籤來澄清。 –