python 中locals() 和 globals()

网友投稿 271 2022-08-27


python 中locals() 和 globals()

1、locals() 和 globals() 是python 的内建函数,他们提供了字典的形式访问局部变量和全局变量的方式。

示例代码:

def test(arg): a=1 b=2 data_dict = {} print locals() print globals()if __name__ == '__main__': test(3)

输出为:

1 {'a': 1, 'data_dict': {}, 'b': 2, 'arg': 3}2 {'__builtins__': , '__file__': 'F:/work/workspace/pythonWorkspace/learn/locals_globals.py', '__package__': None, 'test': , '__name__': '__main__', '__doc__': None}

2、locals() 返回是当前局部变量的深拷贝,修改locals() 中变量值的时候,实际上对于原变量本身是没有任何影响的。而globals()返回的是全局变量的字典,修改其中的内容,值会真正的发生改变。

示例代码:

b = 5 # 定义一个全局变量def test2(): a=1 locals()["a"] = 2 # 修改局部变量 print "a=", a globals()["b"] = 6 # 修改全局变量 print "b=", bif __name__ == '__main__': test2()

输出为:

a= 1b= 6


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:python *args **kwargs(python能做什么)
下一篇:celery使用(celery使用kafka)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~