命名空间和作用域
这个也叫做全局变量和局部变量
一个名称在不同的使用情况下可能指代不同的事物。Python 程序有各种各样的命名空
间,它指的是在该程序段内一个特定的名称是独一无二的,它和其他同名的命名空间
是无关的。
每一个函数定义自己的命名空间。如果在主程序(main)中定义一个变量x,在另外一个
函数中也定义x 变量,两者指代的是不同的变量。但是,天下也没有完全绝对的事情,需
要的话,可以通过多种方式获取其他命名空间的名称。
每个程序的主要部分定义了全局命名空间。因此,在这个命名空间的变量是全局变量。
你可以在一个函数内得到某个全局变量的值:
>>> animal = 'fruitbat'
>>> def print_global():
... print('inside print_global:', animal)
...
>>> print('at the top level:', animal)
at the top level: fruitbat
>>> print_global()
inside print_global: fruitbat
但是,如果想在函数中得到一个全局变量的值并且改变它,会报错<