全局变量和局部变量的定义
1、局部变量:
定义在函数内部的变量就是局部变量,只能在其被声明的函数内部被访问。这样的变量只在函数运行时存在,一旦退出函数,这些局部变量就都被销毁。所有在函数内部声明的变量名称都将被加入作用域中。
示例如下:
def printInfo(arg1, arg2) : sum = arg1 + arg2 print "函数中的sum = ",sum #函数体外也定义了一个sum变量 printInfo(5,6) sum = 1 print "函数外的sum = ",sum
运行结果如下:
函数中的sum = 11 函数外的sum = 1
函数中的sum变量就是局部变量,只能在所在的函数中访问,即使在外面改变了sum变量的值,也不会影响函数中的sum变量的值。
2、全局变量:
全局变量是在函数外定义的,可以在整个程序范围内访问,但是必须在所要访问的函数中使用关键词 global 声明函数外的变量为全局变量,这样访问的才是在函数外定义的全局变量。
示例代码:
def printInfo(y) : global x sum = x + y print "sum = ",sum x = 10 printInfo(5)
运行结果:
sum = 15
一旦变量被定义为全局变量后,在程序任何地方都可以访问,也可以修改。所以我们不建议过多的使用全局变量(非必要不使用),因为这样可能会导致全局变量的不可预知性,并且全局变量也降低了函数或模块之间的通用性,同时也降低了代码的可读性,别人有可能不知道这个调用的是哪的变量。