码迷,mamicode.com
首页 > 编程语言 > 详细

python 中locals() 和 globals()

时间:2016-09-19 23:59:19      阅读:392      评论:0      收藏:0      [点我收藏+]

标签:

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= 1
b= 6

 

python 中locals() 和 globals()

标签:

原文地址:http://www.cnblogs.com/shanys/p/5887023.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!