首页 > 代码库 > python 中locals() 和 globals()
python 中locals() 和 globals()
1、locals() 和 globals() 是python 的内建函数,他们提供了字典的形式访问局部变量和全局变量的方式。
示例代码:
1 def test(arg): 2 a=1 3 b=2 4 data_dict = {} 5 print locals() 6 print globals() 7 8 9 if __name__ == ‘__main__‘:10 test(3)
输出为:
1 {‘a‘: 1, ‘data_dict‘: {}, ‘b‘: 2, ‘arg‘: 3}2 {‘__builtins__‘: <module ‘__builtin__‘ (built-in)>, ‘__file__‘: ‘F:/work/workspace/pythonWorkspace/learn/locals_globals.py‘, ‘__package__‘: None, ‘test‘: <function test at 0x0239F830>, ‘__name__‘: ‘__main__‘, ‘__doc__‘: None}
2、locals() 返回是当前局部变量的深拷贝,修改locals() 中变量值的时候,实际上对于原变量本身是没有任何影响的。而globals()返回的是全局变量的字典,修改其中的内容,值会真正的发生改变。
示例代码:
1 b = 5 # 定义一个全局变量 2 def test2(): 3 a=1 4 locals()["a"] = 2 # 修改局部变量 5 print "a=", a 6 globals()["b"] = 6 # 修改全局变量 7 print "b=", b 8 9 if __name__ == ‘__main__‘:10 test2()
输出为:
a= 1b= 6
python 中locals() 和 globals()
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。