解读Python中 locals() 和 globals() 内置函数

首先globals() 和 locals() 是作用于作用域下的内置函数,所以我将它们分为作用域类型的内置函数

1.作用域相关:
1)globals() # 返回全局作用域中的所有名字
2)locals() # 返回本地作用域中的所有名字

可能对于这个作用域相关的内置函数,大家一接触都会很懵,这个东西是干什么的?它怎么用?
今天小编就给大家来解释一下,
首先我们来先看下官方的解释:
globals()——获取全局变量的字典
locals()——获取执行本方法所在命名空间内的局部变量的字典
什么意思呢?首先我们一定知道什么叫全局变量和局部变量吧,全局变量就是作用在全局。也就是说整个.Py文件中。
而局部变量,在我们现在仅有的学习中,就是在一个函数内有效。

首先我们先在全局的情况下分别使用globals() 和 locals () 两个内置函数

print(globals())
print(locals())

答案:
{'__name__': '__main__', '__doc__': None, '__package__': None ......}
{'__name__': '__main__', '__doc__': None, '__package__': None ......}

首先我们先在局部的情况下分别使用globals() 和 locals () 两个内置函数

a = 2
def func():
b = 1
print(globals())
print(locals())

func()

答案:
{'__name__': '__main__', '__doc__': None, '__package__': None, 'a' = 2 ......}
{'b' = 1}

通过这两个例子,我们不难看出 ,globals()作用在全局,返回改作用域下的所有信息。
locals()作用在局部,返回改作用域下的所有信息。

区别是:globals() 无论将他放在全局还是局部它打印的都是全局作用域下的信息。而locals()
是打印当前自己所在作用域的信息,在全局打印全局,在哪个位置的局部就打印哪个位置局部下的作用域信息。

转载于:https://www.cnblogs.com/if-it-is-possible/p/11547463.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值