打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
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>}
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
UC头条:Python学习笔记整理之输入输出、python eval函数
说说Python中变量的作用域?
Python语言学习:基于python五种方法实现使用某函数名【func_01】的字符串格式('func_01')来调用该函数【func_01】执行功能
《源码探秘 CPython》48. 名字、作用域、名字空间(下)
python eval()
Python中命名空间与作用域使用总结
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服