变量的作用域(全局变量和局部变量)

变量起作用的范围叫做变量的作用域,不同作用域内同名变量之间互不影响。变量分为:全局变量和局部变量

全局变量:

  1. 在函数的类定义之外声明的变量。作用域为定义的模块,从定义位置开始直到模块结束。
  2. 全局变量降低了函数的通用性和可读性。应尽量避免全局变量的使用。
  3. 全局变量一般当成常量使用。
  4. 函数内要改变全局变量的值,使用global声明一下

局部变量:

  1. 在函数体中(包含形式参数)声明的变量。
  2. 局部变量的引用比全局变量快,优先考虑使用。
  3. 如果局部变量和全局变量同名,则在函数内隐藏全局变量,只使用同名的局部变量。

输出打印局部变量:locals()

输出打印全局变量:globals()

 1 a = 3
 2 def text01():
 3     b = 4
 4     print(b*10)
 5     global a
 6     a = 300
 7 
 8 print(locals())
 9 print(globals())
10 
11 text01()
12 print(a)