宜兴通达竭诚为您服务。

python 中locals() 和 globals()

2017-12-18 01:12:00     作者: Administrator     来源:互联网,版权归作者所有     浏览次数: 291     文字大小:【】【】【

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

 

相关文章 评论

服务原则及地区范围

宜兴通达团队,在企业网络维护和企业信息化建设与咨询方面,有10多年经验。

我团队愿与客户一道,力求彻底解决客户问题!
我们不是在给企业提供“头痛医头、脚痛医脚”的暂时解决方案,而是在部署根本性安全与稳定服务!!
我们愿携手客户,建立企业IT规划;杜绝随意安装系统、软件等操作;力求共同维护有序、安全、稳定的网络办公环境!!!
IT服务,服务是根本,客户是上帝;我们提供快速响应、快速上门、快速排查,提供优质高效的服务!!!!

通达团队提供全国范围内的服务,服务形式包括远程协助、电话咨询、电子邮件咨询、传真咨询、问答平台的问题解决等。

宜兴地区提供上门服务:

  • 市区服务:宜城街道、城北街道(屺亭街道)、新街街道、新庄街道、环科园、渚桥开发区
  • 市郊服务:张渚镇、西渚镇、太华镇、徐舍镇、官林镇、杨巷镇、新建镇、和桥镇、高塍镇、万石镇、周铁镇、芳桥镇、丁蜀镇、湖父镇。
  • 联系电话:189-21-343434
  • 在线沟通: