程序员文章、书籍推荐和程序员创业信息与资源分享平台

网站首页 > 技术文章 正文

python命名空间基础知识_python命名可以有空格吗

hfteth 2025-02-19 12:10:18 技术文章 9 ℃

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__': , '__spec__': None, '__annotations__': {}, '__builtins__': , 'funct': }

本文首发微信公众号:梯阅线条

更多内容参考python知识分享或软件测试开发目录。






Tags:

最近发表
标签列表