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 相关文章推荐
Python 字符串中的字符倒转
Sep 06 Python
python高并发异步服务器核心库forkcore使用方法
Nov 26 Python
Python中每次处理一个字符的5种方法
May 21 Python
Python实现的十进制小数与二进制小数相互转换功能
Oct 12 Python
python+matplotlib演示电偶极子实例代码
Jan 12 Python
python列表生成式与列表生成器的使用
Feb 23 Python
Django添加feeds功能的示例
Aug 07 Python
Python语言进阶知识点总结
May 28 Python
Python完成哈夫曼树编码过程及原理详解
Jul 29 Python
使用python实现哈希表、字典、集合操作
Dec 22 Python
python 实现Harris角点检测算法
Dec 11 Python
Python之Matplotlib绘制热力图和面积图
Apr 13 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
PHP4实际应用经验篇(4)
2006/10/09 PHP
PHP中的数组处理函数实例总结
2016/01/09 PHP
在laravel中使用Symfony的Crawler组件分析HTML
2017/06/19 PHP
在IE下获取object(ActiveX)的Param的代码
2009/09/15 Javascript
jquery隐藏标签和显示标签的实例
2013/11/11 Javascript
用于deeplink的js方法(判断手机是否安装app)
2014/04/02 Javascript
JS完整获取IE浏览器信息包括类型、版本、语言等等
2014/05/22 Javascript
KnockoutJs快速入门教程
2016/05/16 Javascript
DataTables+BootStrap组合使用Ajax来获取数据并且动态加载dom的方法(排序,过滤,分页等)
2016/11/09 Javascript
jQuery中DOM节点删除之empty与remove
2017/01/20 Javascript
AngularJS路由切换实现方法分析
2017/03/17 Javascript
AngularJS 最常用的八种功能(基础知识)
2017/06/26 Javascript
微信小程序实现动态设置placeholder提示文字及按钮选中/取消状态的方法
2017/12/14 Javascript
使用ajax的post同步执行(实现方法)
2017/12/21 Javascript
Vue2.0 实现移动端图片上传功能
2018/05/30 Javascript
解决layui页面按钮点击无反应,也不报错的问题
2019/09/29 Javascript
[46:50]Liquid vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
利用python获得时间的实例说明
2013/03/25 Python
Python实现基于权重的随机数2种方法
2015/04/28 Python
python2 与python3的print区别小结
2018/01/16 Python
pytorch 自定义卷积核进行卷积操作方式
2019/12/30 Python
如何利用Python识别图片中的文字
2020/05/31 Python
Python制作数据预测集成工具(值得收藏)
2020/08/21 Python
美国运动鞋和运动服零售商:Footaction
2017/04/07 全球购物
夏尔巴人登珠峰品牌:Sherpa Adventure Gear
2018/02/08 全球购物
Nisbets爱尔兰:英国最大的厨房和餐饮设备供应商
2019/01/26 全球购物
意大利辅助药品、药物和补品在线销售:FarmaEurope
2020/04/29 全球购物
为什么UNION ALL比UNION快
2016/03/17 面试题
电子信息专业自荐书
2014/02/04 职场文书
绿色出行口号
2014/06/18 职场文书
禁毒宣传标语
2014/06/19 职场文书
2014年秋季开学典礼致辞
2014/08/02 职场文书
2014年军人思想汇报范文
2014/10/12 职场文书
盘点2020年适合农村地区创业的项目
2019/10/16 职场文书
深度学习小工程练习之垃圾分类详解
2021/04/14 Python
Python答题卡识别并给出分数的实现代码
2021/06/22 Python