如果你学习 python 一段时间之后,会经常碰到命名空间,作用域 这两个名词,接下来咱们就从这两个名词开始入手,展开这篇博客。
命名空间与作用域
命名空间是指对象所处的位置,命名二字一般指的是变量名,举一个例子,例如在某个函数内,如果使用了 a = 100
这行代码,遵循的规则是在这个命名空间内,如果之前没有变量 a
,那此时定义 a
并且对 a
赋值,如果之前存在 a
,那对之前的赋值进行覆盖,这个函数内部,就是变量 a
的命名空间。
作用域指的是某个对象的有效作用范围,这个作用范围又由命名空间决定,所以在一定程度上,作用域和命名空间可以看成一回事情,只是作用域包含的概念更多一些,里面有对象,查找范围,查找规则,是一个大的定义。
一般将 Python 的作用域分为 3 类
内建作用域
:定义内置函数与内置类型的作用域;全局