解读Python中 locals() 和 globals() 内置函数
首先globals() 和 locals() 是作用于作用域下的内置函数,所以我将它们分为作用域类型的内置函数 1.作用域相关:
1)globals() # 返回全局作用域中的所有名字
2)locals() # 返回本地作用域中的所有名字 可能对于这个作用域相关的内置函数,大家一接触都会很懵,这个东西是干什么的?它怎么用?
今天小编就给大家来解释一下,
首先我们来先看下官方的解释:
globals()——获取全局变量的字典
locals()——获取执行本方法所在命名空间内的局部变量的字典
什么意思呢?首先我们一定知道什么叫全局变量和局部变量吧,全局变量就是作用在全局。也就是说整个.Py文件中。
而局部变量,在我们现在仅有的学习中,就是在一个函数内有效。 首先我们先在全局的情况下分别使用globals() 和 locals () 两个内置函数 print(globals())
print(locals()) 答案:
{'__name__': '__main__', '__doc__': None, '__package__': None ......}
{'__name__': '__main__', '__doc__': None, '__package__': None ......} 首先我们先在局部的情况下分别使用globals() 和 locals () 两个内置函数 a = 2
def func():
b = 1
print(globals())
print(locals()) func() 答案:
{'__name__': '__main__', '__doc__': None, '__package__': None, 'a' = 2 ......}
{'b' = 1} 通过这两个例子,我们不难看出 ,globals()作用在全局,返回改作用域下的所有信息。
locals()作用在局部,返回改作用域下的所有信息。 区别是:globals() 无论将他放在全局还是局部它打印的都是全局作用域下的信息。而locals()
是打印当前自己所在作用域的信息,在全局打印全局,在哪个位置的局部就打印哪个位置局部下的作用域信息。
解读Python中 locals() 和 globals() 内置函数的更多相关文章
- 【python】dir(__builtins__)查看python中所用BIF(内置函数)
dir(__builtins__)查看python中所用BIF(内置函数)
- python中的作用域以及内置函数globals()-全局变量、locals()-局部变量
在python中,函数会创建一个自己的作用域,也称为为命名空间.这意味着在函数内部访问某个变量时,函数会优先在自己的命名空间中寻找. 通过内置函数globals()返回的是python解释器能知道的变 ...
- python 中一些常用的内置函数
一.常用内置函数 abs(x) 返回绝对值,参数为int float,非字符只能num all(iterable) 如果迭代对象里面的所有值都为真就返回True.all([1, 2, -7]) --- ...
- 初识python中的68个内置函数
内置函数思维导图的链接: https://www.processon.com/view/link/5b72b805e4b08d3622ad8b48 面向对象和反射相关的后面补充
- python基础12_匿名_内置函数
一个二分查找的示例: # 二分查找 示例 data = [1, 3, 6, 7, 9, 12, 14, 16, 17, 18, 20, 21, 22, 23, 30, 32, 33, 35, 36, ...
- python中locals和globals函数
参考:http://www.cnblogs.com/wanxsb/archive/2013/05/07/3064783.html Python有两个内置的函数,locals() 和globals(), ...
- Python学习(八) —— 内置函数和匿名函数
一.递归函数 定义:在一个函数里调用这个函数本身 递归的最大深度:997 def func(n): print(n) n += 1 func(n) func(1) 测试递归最大深度 import sy ...
- 【python之路46】内置函数2,是【python之路18】的补充
将3.5版本中的68个内置函数,按顺序逐个进行了自认为详细的解析.为了方便记忆,将这些内置函数进行了如下分类: 数学运算(7个) 类型转换(24个) 序列操作(8个) 对象操作(7个) 反射操作(8个 ...
- 查看python内部模块命令,内置函数,查看python已经安装的模块命令
查看python内部模块命令,内置函数,查看python已经安装的模块命令 可以用dir(modules) 或者用 pip list或者用 help('modules') 或者用 python -m ...
随机推荐
- Vue-组件详解
转载:https://segmentfault.com/a/1190000015199363 查看原文站点,更多扩展内容及更佳阅读体验! 组件详解 组件与复用 Vue组件需要注册后才可以使用.注册有全 ...
- [kuangbin带你飞]专题一 简单搜索 - B - Dungeon Master
#include<iostream> #include<cstdio> #include<string> #include<vector> #inclu ...
- javaweb中静态文件的处理方法
方案一:激活Tomcat的defaultServlet来处理静态文件 在web.xml中添加: <servlet-mapping> <servlet-name>default& ...
- Ubuntu环境下安装Scala以及安装IntelliJ Scala插件(Plugin)
一.Scala介绍 1.结合Spark处理大数据 这是Scala的一个主要应用,而且Spark也是那Scala写的. 2.Java的脚本语言版 可以直接写Scala的脚本,也可以在.sh直接使用Sc ...
- YXcms前台注入(有限制但可以绕过)
这个cms很久前做过代码审计,很多问题,但是经过这么长时间,现在安全性提高了不少,这几天看了下,基本没有什么特别大的问题了(不包含后台). 在yxcms/protected/apps/member/c ...
- Python全栈开发:socket
Socket socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. sock ...
- 【BZOJ3944】Sum
题面 Description Input 一共T+1行 第1行为数据组数T(T<=10) 第2~T+1行每行一个非负整数N,代表一组询问 Output 一共T行,每行两个用空格分隔的数ans1, ...
- 基于 RocketMQ 的同城双活架构在美菜网的挑战与实践
本文整理自李样兵在北京站 RocketMQ meetup分享美菜网使用 RocketMQ 过程中的一些心得和经验,偏重于实践. 嘉宾李样兵,现就职于美菜网基础服务平台组,负责 MQ ,配置中心和任务调 ...
- C++函数模板&类模板
函数模板 模板概念及语法 主要目的,简化代码,减少重复代码.基本语法格式: template<class T> 或者 template<typename T> //末尾不加分 ...
- 第八章 Odoo 12开发之业务逻辑 - 业务流程的支持
在前面的文章中,我们学习了模型层.如何创建应用数据结构以及如何使用 ORM API 来存储查看数据.本文中我们将利用前面所学的模型和记录集知识实现应用中常用的业务逻辑模式. 本文的主要内容有: 以文件 ...