globals和locals的区别

Posted joneylulu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了globals和locals的区别相关的知识,希望对你有一定的参考价值。

Python的两个内置函数,locals 和globals,它们提供了基于字典的访问局部和全局变量的方式。

1、locals()是只读的。globals()不是。这里说的只读,是值对于原有变量的只读。其实还可以对locals()赋值的。见下图

技术分享图片

上面的图就可以看出了,对locals()中增加了一个b变量。

2、locals和globals的返回不同。

globals返回的是当前模块的全局变量,locals返回的是局部变量。注意,locals返回的是当前所在最小命名空间的局部变量的一个拷贝。比如说在一个函数中调用locals(),那么返回的将是这个函数内部的局部变量。

locals返回的变量都是原有变量的“拷贝”

 

以上是关于globals和locals的区别的主要内容,如果未能解决你的问题,请参考以下文章

python-global和nonlocal区别

全局(Global) 与本地(Local)索引的区别

Python globals() locals() vars() 三个内建函数的区别

npm(cnpm)全局安装和本地安装的区别

在erlang中注册全局和本地主管之间的区别是什么

python中的本地变量(local variable)和全局变量(global variable)分别是啥?