Python基于locals返回作用域字典


Posted in Python onOctober 17, 2020

英文文档:

locals()

Update and return a dictionary representing the current local symbol table. Free variables are returned by locals()when it is called in function blocks, but not in class blocks.

返回当前作用域内的局部变量和其值组成的字典

说明:

1. 函数功能返回当前作用域内的局部变量和其值组成的字典,与globals函数类似(返回全局变量)

>>> locals()
{'__package__': None, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__doc__': None, '__name__': '__main__', '__builtins__': <module 'builtins' (built-in)>, '__spec__': None}

>>> a = 1

>>> locals() # 多了一个key为a值为1的项
{'__package__': None, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, 'a': 1, '__doc__': None, '__name__': '__main__', '__builtins__': <module 'builtins' (built-in)>, '__spec__': None}

2. 可用于函数内。

>>> def f():
  print('before define a ')
  print(locals()) #作用域内无变量
  a = 1
  print('after define a')
  print(locals()) #作用域内有一个a变量,值为1
>>> f
<function f at 0x03D40588>
>>> f()
before define a 
{} 
after define a
{'a': 1}

3. 返回的字典集合不能修改。

>>> def f():
  print('before define a ')
  print(locals()) # 作用域内无变量
  a = 1
  print('after define a')
  print(locals()) # 作用域内有一个a变量,值为1
  b = locals()
  print('b["a"]: ',b['a']) 
  b['a'] = 2 # 修改b['a']值
  print('change locals value')
  print('b["a"]: ',b['a'])
  print('a is ',a) # a的值未变

  
>>> f()
before define a 
{}
after define a
{'a': 1}
b["a"]: 1
change locals value
b["a"]: 2
a is 1
>>>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
pyqt4教程之widget使用示例分享
Mar 07 Python
Python中MYSQLdb出现乱码的解决方法
Oct 11 Python
python在windows和linux下获得本机本地ip地址方法小结
Mar 20 Python
Python下载懒人图库JavaScript特效
May 28 Python
Python Json模块中dumps、loads、dump、load函数介绍
May 15 Python
Python产生Gnuplot绘图数据的方法
Nov 09 Python
利用django+wechat-python-sdk 创建微信服务器接入的方法
Feb 20 Python
对django layer弹窗组件的使用详解
Aug 31 Python
python 实现线程之间的通信示例
Feb 14 Python
详解Python直接赋值,深拷贝和浅拷贝
Jul 09 Python
用python实现一个简单的验证码
Dec 09 Python
OpenCV-Python模板匹配人眼的实例
Jun 08 Python
Python classmethod装饰器原理及用法解析
Oct 17 #Python
Python基于staticmethod装饰器标示静态方法
Oct 17 #Python
详解python算法常用技巧与内置库
Oct 17 #Python
Python 操作SQLite数据库的示例
Oct 16 #Python
python Selenium 库的使用技巧
Oct 16 #Python
用Python进行websocket接口测试
Oct 16 #Python
python如何控制进程或者线程的个数
Oct 16 #Python
You might like
最令PHP初学者们头痛的十四个问题
2007/01/15 PHP
php 在文件指定行插入数据的代码
2010/05/08 PHP
TMDPHP 模板引擎使用教程
2012/03/13 PHP
PHP获取文件的MD5值并判断是否被修改的例子
2014/06/19 PHP
PHP开发框架Laravel数据库操作方法总结
2014/09/03 PHP
php中使用PHPExcel读写excel(xls)文件的方法
2014/09/15 PHP
Yii实现Command任务处理的方法详解
2016/07/14 PHP
yii框架搜索分页modle写法
2016/12/19 PHP
PHP批量删除jQuery操作
2017/07/23 PHP
JavaScript 常用函数
2009/12/30 Javascript
15款优秀的jQuery导航菜单插件分享
2011/07/19 Javascript
jQuery实现跨域iframe接口方法调用
2015/03/14 Javascript
JQuery菜单效果的两个实例讲解(3)
2015/09/17 Javascript
浅谈Javascript中Object与Function对象
2015/09/26 Javascript
BootStrap中
2016/12/10 Javascript
bootstrap datetimepicker实现秒钟选择下拉框
2017/01/05 Javascript
node.js 中间件express-session使用详解
2017/05/20 Javascript
Node.js中多进程模块Cluster的介绍与使用
2017/05/27 Javascript
详解在Vue中有条件地使用CSS类
2017/09/30 Javascript
详解React之父子组件传递和其它一些要点
2018/06/25 Javascript
Vue中通过vue-router实现命名视图的问题
2020/04/23 Javascript
js实现文章目录索引导航(table of content)
2020/05/10 Javascript
[52:40]完美世界DOTA2联赛PWL S2 Magma vs GXR 第一场 11.29
2020/12/02 DOTA
教大家使用Python SqlAlchemy
2016/02/12 Python
HTML5之SVG 2D入门13—svg对决canvas及长处和适用场景分析
2013/01/30 HTML / CSS
Mytheresa英国官网:拥有160多个奢侈品品牌
2016/10/09 全球购物
中国跨境在线时尚零售商:Bellelily
2018/04/06 全球购物
乌克兰第一的珠宝网上商店:Gold.ua
2019/11/29 全球购物
介绍一下Linux内核的排队自旋锁
2014/08/27 面试题
党校培训思想汇报
2013/12/30 职场文书
大学生求职自我评价
2014/01/16 职场文书
优秀学生事迹材料
2014/02/08 职场文书
公司委托书格式
2014/08/01 职场文书
个人纪律作风整改措施思想汇报
2014/10/12 职场文书
领导工作表现评语
2015/01/04 职场文书
天河观后感
2015/06/11 职场文书