前言:
眼前咱们对“python命名空间”可能比较看重,看官们都想要学习一些“python命名空间”的相关文章。那么小编同时在网上搜集了一些对于“python命名空间””的相关内容,希望小伙伴们能喜欢,大家快快来了解一下吧!1.1 映射
A和B都是非空集合,存在对应关系f,使得A中的任意一个元素a,在B中都有唯一元素b与之对应,则f称为从A到B的映射,写作f:A->B。
b称为a在映射f下的像,记作:b=f(a)。
a称为b关于映射f的原像。
集合A中所有元素的像(所有b)的集合称为映射f的值域,记作f(A)。
1.2 python命名空间
python的命名空间(namespace)是指从名称到对象的映射。
对象=f(名称),f为命名空间。
任何一个名称,通过命名空间f,都能找到唯一一个对象与之对应。
python变量名的创建、修改和查找都是在命名空间进行的。
1.3 python三种命名空间
python有三种命名空间:
序号
命名空间
描述
1
内置命名空间(built-in name)
python语言内置名称,比如函数名称print、abs等
2
全局命名空间(global-name)
模块级变量、函数、类、导入的模块及其变量
3
局部命名空间(local-name)
函数(或方法)中的变量,函数入参,函数返回值,
命名空间查找顺序:局部>全局>内置命名空间。找不到则报NameError异常。
命名空间加载顺序:内置>全局>局部(函数调用时生成)。
命名空间销毁顺序:局部>全局>内置命名空间。
1.4 locals和globals()
locals()当前函数局部命名空间。
globals()当前模块命名空间。
示例
>>> def funct(a=2): b='梯阅线条' print(locals()) return a*b>>> funct(){'a': 2, 'b': '梯阅线条'}'梯阅线条梯阅线条'>>> globals(){'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, 'funct': <function funct at 0x00E41DB0>}
本文首发微信公众号:梯阅线条,
更多内容参考python知识分享或软件测试开发目录。
标签: #python命名空间 #python怎么改名字