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

posted @ 2013-10-16 19:19  virusdefender  阅读(170)  评论(0编辑  收藏  举报