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使用win32com在百度空间插入html元素示例
Feb 20 Python
Python结巴中文分词工具使用过程中遇到的问题及解决方法
Apr 15 Python
Django数据库操作的实例(增删改查)
Sep 04 Python
python爬虫之线程池和进程池功能与用法详解
Aug 02 Python
django表单的Widgets使用详解
Jul 22 Python
python如何保证输入键入数字的方法
Aug 23 Python
TensorFlow tensor的拼接实例
Jan 19 Python
python读取图片的几种方式及图像宽和高的存储顺序
Feb 11 Python
Anaconda详细安装步骤图文教程
Nov 12 Python
Sentry错误日志监控使用方法解析
Nov 12 Python
python 写一个文件分发小程序
Dec 05 Python
Python FuzzyWuzzy实现模糊匹配
Apr 28 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
第四节 构造函数和析构函数 [4]
2006/10/09 PHP
PHP imagecreatefrombmp 从BMP文件或URL新建一图像
2012/07/16 PHP
PHP中使用crypt()实现用户身份验证的代码
2012/09/05 PHP
PHP实现生成透明背景的PNG缩略图函数分享
2014/07/08 PHP
php版微信自动获取收货地址api用法示例
2016/09/22 PHP
JavaScript中的对象化编程
2008/01/16 Javascript
Jquery 实现Tab效果 思路是js思路
2010/03/02 Javascript
jQuery EasyUI API 中文文档 可调整尺寸
2011/09/29 Javascript
原生js写的放大镜效果
2012/08/22 Javascript
Js注册协议倒计时的小例子
2013/06/24 Javascript
JavaScript cookie的设置获取删除详解
2014/02/11 Javascript
JS操作HTML自定义属性的方法
2015/02/10 Javascript
JavaScript forEach()遍历函数使用及介绍
2015/07/08 Javascript
javascript实现选中复选框后相关输入框变灰不可用的方法
2015/08/11 Javascript
jquery实现清新实用的网页菜单效果
2015/08/28 Javascript
基于JS实现弹出一个隐藏的div窗口body页面变成灰色并且不可被编辑
2016/12/14 Javascript
JS获取鼠标位置距浏览器窗口距离的方法示例
2017/04/11 Javascript
详解vuex持久化插件解决浏览器刷新数据消失问题
2019/04/15 Javascript
基于 vue-skeleton-webpack-plugin 的骨架屏实战
2019/08/05 Javascript
[04:10]2018年度CS GO玩家最喜爱的主播-完美盛典
2018/12/16 DOTA
python实现随机调用一个浏览器打开网页
2018/04/21 Python
python实现梯度下降算法
2020/03/24 Python
Python 网络编程之TCP客户端/服务端功能示例【基于socket套接字】
2019/10/12 Python
Python实现元素等待代码实例
2019/11/11 Python
python使用openpyxl操作excel的方法步骤
2020/05/28 Python
Django实现随机图形验证码的示例
2020/10/15 Python
关于python tushare Tkinter构建的简单股票可视化查询系统(Beta v0.13)
2020/10/19 Python
python-地图可视化组件folium的操作
2020/12/14 Python
JackJones官方旗舰店:杰克琼斯男装
2018/03/27 全球购物
软件测试企业面试试卷
2016/07/13 面试题
大学生毕业自我鉴定
2013/11/06 职场文书
市级文明单位申报材料
2014/05/07 职场文书
公司授权委托书范文
2014/08/02 职场文书
关于运动会的广播稿
2014/09/22 职场文书
教师党的群众路线学习心得体会
2014/11/04 职场文书
银行催款通知书
2015/04/17 职场文书