python中的变量域问题
def temp():
print a
a=1
temp()
如果函数里去读一个变量,而这个变量在当前函数的局部变量中找不到,就会全局变量中找。
def temp(): print a a = 2 a=1 temp() print a
这个情况是错的,如果函数里去写一个变量(赋值),这个变量必须是局部变量。如果要写全局变量,需要加global声明。
def temp(): print a global a a = 2 a=1 temp() print a
修改成这样的话 就是输出 1 2