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中list循环语句用法实例
Nov 10 Python
python使用装饰器和线程限制函数执行时间的方法
Apr 18 Python
Python中getattr函数和hasattr函数作用详解
Jun 14 Python
Python中第三方库Requests库的高级用法详解
Mar 12 Python
Tensorflow中使用tfrecord方式读取数据的方法
Jun 19 Python
Python的matplotlib绘图如何修改背景颜色的实现
Jul 16 Python
python爬虫 2019中国好声音评论爬取过程解析
Aug 26 Python
python 怎样将dataframe中的字符串日期转化为日期的方法
Sep 26 Python
用Python解数独的方法示例
Oct 24 Python
Python3并发写文件与Python对比
Nov 20 Python
Python实现手机号自动判断男女性别(实例解析)
Dec 22 Python
Python操作CSV格式文件的方法大全
Jul 15 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/06/14 PHP
phpmyadmin导入(import)文件限制的解决办法
2009/12/11 PHP
ubuntu下编译安装xcache for php5.3 的具体操作步骤
2013/06/18 PHP
js和php邮箱地址验证的实现方法
2014/01/09 PHP
php实现简单的MVC框架实例
2015/09/23 PHP
php批量删除超链接的实现方法
2015/10/19 PHP
Laravel框架中集成MongoDB和使用详解
2019/10/17 PHP
javascript脚本编程解决考试分数统计问题
2008/10/18 Javascript
使用iojs的jsdom库实现同步系统时间
2015/04/20 Javascript
实例讲解JS中setTimeout()的用法
2016/01/28 Javascript
利用Node.js对文件进行重命名
2017/03/12 Javascript
基于bootstrap实现bootstrap中文网巨幕效果
2017/05/02 Javascript
JS实现字符串去重及数组去重的方法示例
2018/04/21 Javascript
jQuery中实现text()的方法
2019/04/04 jQuery
JavaScript 扩展运算符用法实例小结【基于ES6】
2019/06/17 Javascript
React+EggJs实现断点续传的示例代码
2020/07/07 Javascript
Vue封装Axios请求和拦截器的步骤
2020/09/16 Javascript
pytyon 带有重复的全排列
2013/08/13 Python
python中常用的各种数据库操作模块和连接实例
2014/05/29 Python
Python 中迭代器与生成器实例详解
2017/03/29 Python
使用pyecharts在jupyter notebook上绘图
2020/04/23 Python
python3 模拟登录v2ex实例讲解
2017/07/13 Python
python版微信跳一跳游戏辅助
2018/01/11 Python
使用python画个小猪佩奇的示例代码
2018/06/06 Python
Python做智能家居温湿度报警系统
2018/09/25 Python
使用EduBlock轻松学习Python编程
2018/10/08 Python
python中的json总结
2018/10/11 Python
Python3删除排序数组中重复项的方法分析
2019/01/31 Python
python中的函数递归和迭代原理解析
2019/11/14 Python
pandas实现将日期转换成timestamp
2019/12/07 Python
中式结婚主持词
2014/03/14 职场文书
超市仓管员岗位职责范本
2014/09/18 职场文书
贫困证明书格式及范文
2014/10/15 职场文书
场地使用证明模板
2014/10/25 职场文书
《合作意向书》怎么写?
2019/08/20 职场文书
小程序wx.getUserProfile接口的具体使用
2021/06/02 Javascript