函数内全局变量赋值
Python中有局部变量和全局变量,当局部变量名字和全局变量名字重复时,局部变量会覆盖掉全局变量。
如果要给全局变量在一个函数里赋值,必须使用global语句。global VarName的表达式会告诉Python, VarName是一个全局变量,这样Python就不会在局部命名空间里寻找这个变量了。
cookieG = ''
def setCookie(cookie):
global cookieG
cookieG = cookie
在全局命名空间里定义一个变量cookieG。再在函数内给变量cookieG赋值,pthon会假定cookieG是一个局部变量。然而,我们并没有在访问前声明一个局部变量cookieG,结果就是会出现一个UnboundLocalError的错误。取消global语句的注释就能解决这个问题。
网友评论