定义在函数内的变量有局部作用域,在一个模块中最高级别的变量有全局作用域。
全局变量的一个特征是除非被删除掉,否则它们的存活到脚本运行结束,且对于所有的函数,它们的值都是可以访问的。
global_str = 'global string'
def foo():
local_str = "local string"
return global_str+local_str
当搜索一个标识符的时候,python先从局部作用域开始搜索。如果在局部作用域内没有找到那个名字,那么就一定会在全局域找到这个变量否则就会跑出NameError异常。
global语法:
global var1[, var2[, ... varN]]]