python 里面的内置函数之:locals() 和 globals()
1、python变量的 symbol table
python是一种动态类型语言,symbol只有在第一次定义或赋值的时候才会加入到global symbol table 或者
local symbol table,比如变量的首次赋值、函数和类通过 def
or class的首次定义。如下:
Operation | Statement |
---|---|
Assignments |
x = value
|
Import operations |
import module or from module import name
|
Function definitions |
def my_func(): ...
|
Argument definitions in the context of functions |
def my_func(arg1, arg2,... argN): ...
|
Class definitions |
class MyClass: ...
|
2、关于变量的scope
local scope ---- in function
global Scope ---- out of function
3、locals() 和 globals() 的比较
相同点:都返回用字典表示的符号变量表(symbol table)
在global Scope 下使用的时候效果相同,都获取global symbol table 中的变量
差异:在local scope中使用的时候,globals() 获取global symbol table 中的变量,
而locals() 获取local symbol table 中的变量。
a = "python" # 函数外定义的a为全局变量
print("print out from function")
print(locals())
print(globals())
def fuc1(arg):b = "fuc1"print("print in function")print(locals())print(globals())fuc1(3)print out from function
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': '__file__': '/home/hl/code/mmsr-master/codes/scripts/test.py', '__cached__': None, 'a': 'python'}
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': '__file__': '/home/hl/code/mmsr-master/codes/scripts/test.py', '__cached__': None, 'a': 'python'}
print in function
{'b': 'fuc1', 'arg': 3}
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': '__file__': '/home/hl/code/mmsr-master/codes/scripts/test.py', '__cached__': None, 'a': 'python', 'fuc1': <function fuc1 at 0x7f13631f8e18>}Process finished with exit code 0
python 里面的内置函数之:locals() 和 globals()相关推荐
- Python两个内置函数——locals 和globals
python作用域 http://tgstdj.blog.163.com/blog/static/748200402012419114428813/ 有两种类型的作用域--类的变量和对象的变量. 类的 ...
- python 两个内置函数——locals 和globals(名字空间)批量以自定义变量名创建对象
文章目录 locals 和globals(名字空间)简介 1.局部变量函数locals例子(locals 返回一个名字/值对的字典) 批量创建对象 示例1 示例2 函数内 类内 2.全局变量函数glo ...
- python之路——内置函数和匿名函数
楔子 在讲新知识之前,我们先来复习复习函数的基础知识. 问:函数怎么调用? 函数名() 如果你们这么说...那你们就对了!好了记住这个事儿别给忘记了,咱们继续谈下一话题... 来你们在自己的环境里打印 ...
- 初学者python笔记(内置函数_2)
这篇初学者笔记是接着上一篇初学者python笔记(内置函数_1)的.同样都是介绍Python中那些常用内置函数的. max()和min()的高级用法 我们都知道,max():取最大值,min():取最 ...
- [转载] (三)Python关键字和内置函数
参考链接: Python中的数学函数 4(特殊函数和常量) 一.Python的关键字 和其他语言一样,关键字有特殊含义,并且关键字不能作为变量名.函数名.类名等标识符. 快速查看关键字的方法除了上cs ...
- python中比较重要的几个函数_Python 几个重要的内置函数 python中的内置函数和关键字需要背过吗...
python重要的几个内置函数用法 python内置函数什么用忘不掉的是回忆,继续的是生活,错过的,就当是路过吧.来来往往身边出现很多人,总有一个位置,一直没有变.看看温暖的阳光,偶尔还是会想一想. ...
- 十五. Python基础(15)--内置函数-1
十五. Python基础(15)--内置函数-1 1 ● eval(), exec(), compile() 执行字符串数据类型的python代码 检测#import os 'import' in c ...
- python学习总结----内置函数及数据持久化
python学习总结----内置函数及数据持久化 抽象基类(了解)- 说明:- 抽象基类就是为了统一接口而存在的- 它不能进行实例化- 继承自抽象类的子类必须实现抽象基类的抽象方法 - 示例:from ...
- Python学习(14)--内置函数
Python学习(14)--内置函数 1.Python内置函数 在Python中有很多的内置函数供我们调用,熟练的使用这些内置函数可以让编写代码时事半功倍,所谓内置函数就是那些Python已经预定义并 ...
- python提供的内置函数有哪些_python内置函数介绍
内置函数,一般都是因为使用频率比较频繁,所以通过内置函数的形式提供出来.对内置函数通过分类分析,基本的数据操作有数学运算.逻辑操作.集合操作.字符串操作等. 说起我正式了解内置函数之前,接触到的是la ...
最新文章
- 《你的灯亮着么》五六篇
- 梯形积分法【OpenMP实现】多个版本
- xhprof 安装使用(windows linux混版)
- Indian Scientists Design Device to Collect Solar Energy 印度科学家设计太阳能收集设备
- linux mkdir绝对路径,linux学习(六)绝对路径、相对路径、cd、mkdir、rmdir、rm(示例代码)...
- Swift iOS : 内存管理
- 真正的工业互联网!传统企业的数据建设之路,这3个场景不得不看
- 自己写Tiny6410的Bootloader总结!
- Android之登录那点事
- Codeforces Round #573 (Div. 2)
- 《WINDOWS游戏编程之从零开始》第四章学习笔记
- java steam_Java,Steam控制器和我
- minitab怎么算西格玛水平_计算西格玛水平.ppt
- 5种方式实现 Java 单例模式
- AutoCAD启动缓慢
- 同步模式之保护性暂停
- “杜拉拉升职记”电影看后感
- 我们跟8个程序员聊了一晚上,攒齐了来自BAT的吐槽
- Java(实验三)类与对象-定义并实现一个长方体类(Cube),包含长(length)、宽(width)与高(height)等三个属性
- ssm+java农村快递代取平台52wxh(程序+lw+源码+远程部署)
热门文章
- Spring.net 控制反转(IoC)容器_(收集)
- 会话(状态)管理Cookie与Session(二)
- Linux中网卡的命名规则
- datax 不识别字段过滤_初效空气过滤器种类
- java web gradle_java web使用gradle配置详情
- 基于python的注册登录界面_基于python的Tkinter编写登陆注册界面
- java写培根披萨和海鲜披萨_java子类继承父类实例-披萨的选择实现代码
- maven配置项目根路径_Java的项目构建工具Maven的配置和使用教程
- 计算机专业怎么转行做建筑,【土木转行·续集】土建类同学转行计算机,什么时间转最合适?...
- CMU 15-213 Introduction to Computer Systems学习笔记(16) Virtual Memory: Concepts