前言:
1、locals() 和 globals()两个函数主要提供,基于字典的访问局部和全局变量的方式。
2、Python 中的名字空间概念:Python 使用叫做名字空间的东西来记录变量的轨迹。名字空间只是一个字典,它的键字就是变量名,字典的值就是那些变量的值。
3、实际上,名字空间可以像 Python 的字典一样进行访问。
4、每个函数都有着自已的名字空间,叫做局部名字空间,它记录了函数的变量,包括函数的参数和局部定义的变量。
5、每个模块拥有它自已的名字空间,叫做全局名字空间,它记录了模块的变量,包括函数、类、其它导入的模块、模块级的变量和常量。
6、还有就是内置名字空间,任何模块均可访问它,它存放着内置的函数和异常。【内置名字空间独立于函数和模块之外】
举例
当一行代码要使用变量 x 的值时,Python 会到所有可用的名字空间去查找变量,按照如下顺序: