您的位置:首页 > 编程语言 > Python开发

Python中globals和locals的区别-pybatis的准备阶段(六)

2013-03-08 09:52 537 查看
Python的两个内置函数,locals 和globals,它们提供了基于字典的访问局部和全局变量的方式。

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



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

2、locals和globals的返回不同

locals(...)

locals() -> dictionary

Update and return a dictionary containing the
current scope's local variables.

globals(...)

globals() -> dictionary

Return the dictionary containing the current scope'sglobal variables.

也就是说globals返回的是当前模块的全局变量 locals返回的是局部变量。注意,locals返回的是当前所在最小命名空间的局部变量的一个拷贝。比如说在一个函数中调用locals(),那么返回的将是这个函数内部的局部变量。
记住,locals返回的变量都是原有变量的“拷贝”。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: