Possible Duplicate:
Short Description of Python Scoping Rules
我写了两个简单的函数:
# coding: utf-8
def test():
var = 1
def print_var():
print var
print_var()
print var
test()
# 1
# 1
def test1():
var = 2
def print_var():
print var
var = 3
print_var()
print var
test1()
# raise Exception
相比之下,test1()
在print var
之后赋值,然后引发一个异常:UnboundLocalError: local variable 'var' referenced before assignment
,我想在我调用内部print var
时,var的值是2,我错了吗?在
是的,你错了。函数定义引入了一个新的作用域。在
相关问题 更多 >
编程相关推荐