命名空间

所有的变量都保存在命名空间中

命名空间实质是一个字典,是一个专门用来存储变量的字典,也可以存储函数

locals()函数可以获取当前作用域的命名空间,并且返回一个字典。
b=20
a=30
scope=locals()
print(scope)
输出
{‘name’: ‘main’, ‘doc’: None, ‘package’: None, ‘loader’: <_frozen_importlib_external.SourceFileLoader object at 0x00000222640E08B0>, ‘spec’: None, ‘annotations’: {}, ‘builtins’: <module ‘builtins’ (built-in)>, ‘file’: ‘F:/python/命名空间.py’, ‘cached’: None, ‘b’: 20, ‘a’: 30, ‘scope’: {…}}
对于上程序还有:
print(a)=20
print(scope[‘a’])=20
因为命名空间相当于字典,所以还可以有
scope[‘c’]=123
向该字典中添加键值对,相当于添加了一个全局变量。该添加方法计算机会有错误提示但任然可以运行。但只有在全局时才有用,当在一个定义的函数内时则报错无法生效打印。
当locals()在一个函数内部且函数内没有数据时,则等于一个空字典。
globals()可以在任意位置获得全局的命名空间,存储在一个变量后可以输出全局命名空间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值