全局变量和局部变量的定义

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

一旦变量被定义为全局变量后,在程序任何地方都可以访问,也可以修改。所以我们不建议过多的使用全局变量(非必要不使用),因为这样可能会导致全局变量的不可预知性,并且全局变量也降低了函数或模块之间的通用性,同时也降低了代码的可读性,别人有可能不知道这个调用的是哪的变量。

原文地址:https://www.cnblogs.com/goser/p/7125849.html