文章里面说globals和locals函数返回的是命名空间 - 一个存有对应作用域的所有的变量、方法的字典,注意这里和dir函数返回数组的不一样

Python命名空间的本质

class Test(object):
"""docstring for Test""" def __init__(self, arg):
super(Test, self).__init__()
self.arg = arg print(dir(), ...)
# ['Test', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__'] Ellipsis
print(locals(), ...)
# {'__name__': '__main__', '__doc__': None, '__cached__': None, 'Test': <class '__main__.Test'>, '__spec__': None, '__package__': None, '__builtins__': <module 'builtins' (built-in)>, '__loader__': <_frozen_importlib.SourceFileLoader object at 0x01EF47B0>, '__file__': 'D:\\MARK\\temp.py'} Ellipsis
print(globals(), ...)
# {'__name__': '__main__', '__doc__': None, '__cached__': None, 'Test': <class '__main__.Test'>, '__spec__': None, '__package__': None, '__builtins__': <module 'builtins' (built-in)>, '__loader__': <_frozen_importlib.SourceFileLoader object at 0x01EF47B0>, '__file__': 'D:\\MARK\\temp.py'} Ellipsis

Note:

locals返回的是当前作用域的命名空间的copy,对他的修改不会影响原始的命名空间

globals返回的是全局的命名空间,对他的修改会直接影响全局命名空间

python globals和locals的更多相关文章

  1. Python globals和locals函数_reload函数

    Python globals和locals函数_reload函数: globals( ): 返回所有能够访问到的全局名字 num = 5 sum = 0 def add(num): func_sum ...

  2. Python globals()和locals()比较

    Python的两个内置函数,globals()和locals() ,它们提供了基于字典的访问局部和全局变量的方式. globals()是可写的,即,可修改该字典中的键值,可新增和删除键值对. 而loc ...

  3. Python globals() locals() vars() 三个内建函数的区别

    首先参考官方文档对这三个函数的介绍: 2. Built-in Functions – Python3.5 1.globals() 返回当前全局符号表, 通常是返回当前模块下的全局符号表, 比如全局内建 ...

  4. globals() 和 locals() 函数

    globals() 和 locals() 函数 根据调用地方的不同,globals() 和 locals() 函数可被用来返回全局和局部命名空间里的名字. 如果在函数内部调用 locals(),返回的 ...

  5. Python globals() 函数

    Python globals() 函数  Python 内置函数 描述 globals() 函数会以字典类型返回当前位置的全部全局变量. 语法 globals() 函数语法: globals() 参数 ...

  6. python基础----1. globals和locals

    官方文档 globals """ Return a dictionary representing the current global symbol table. Th ...

  7. globals和locals的区别

    Python的两个内置函数,locals 和globals,它们提供了基于字典的访问局部和全局变量的方式. 1.locals()是只读的.globals()不是.这里说的只读,是值对于原有变量的只读. ...

  8. python学习之locals()

    locals() 返回一个字典对象.收集并返回局部变量.可以用在函数中,用来收集局部变量. >>> def f(): ... a = 'tom' ... print(locals() ...

  9. python基础全部知识点整理,超级全(20万字+)

    目录 Python编程语言简介 https://www.cnblogs.com/hany-postq473111315/p/12256134.html Python环境搭建及中文编码 https:// ...

随机推荐

  1. Android日志监听工具logcat命令详解(转)

    Android日志系统提供了记录和查看系统调试信息的功能.日志都是从各种软件和一些系统的缓冲区中记录下来的,缓冲区可以通过logcat命令来查看和使用. 在使用logcat之前,请确保手机的USB调试 ...

  2. MAPI错误0x80040107

    MAPI错误0x80040107  的解决方案: The MAPI error means there's an "invalid entry" within the contac ...

  3. HotSpot Generations

    本文主要介绍HotSpot JVM的 Generations 机制, 原文来自 Oracle 文档  Java SE 6 HotSpot[tm] Virtual Machine Garbage Col ...

  4. org.codehaus.jackson.map.JsonMappingException: Can not construct instance of java.util.Date from String value '2012-12-12 12:01:01': not a valid representation (error: Can not parse date "2012-12-

    Jackson对于date的反序列化只支持几种,如果不符合默认格式则会报一下错误 org.codehaus.jackson.map.JsonMappingException: Can not cons ...

  5. Verilog 加法器和减法器(7)

    在计算机中浮点数 表示通常采用IEEE754规定的格式,具体参考以下文章. https://www.cnblogs.com/mikewolf2002/p/10095995.html 下面我们在Veri ...

  6. rsync推送备份服务器(Linux)

    rsync推送备份服务器备份服务器操作需被备份的服务器操作批处理shell备份服务器操作#编辑配置文件vi /etc/rsyncd.conf uid = root #运行RSYNC守护进程的用户gid ...

  7. jQuery easyui layout布局自适应浏览器大小(转)

    首先解释一下标题的含义,当我们用jQuery easyui layout 进行布局的时候,可能会遇到这样一个问题,那就是当手工调整浏览器大小,或者最大化.还原窗口的时候,layout的某个区域不能填充 ...

  8. Pytorch 0.3加载0.4模型及其之间版本的变化

    1. 0.4中使用设备:.to(device) 2. 0.4中删除了Variable,直接tensor就可以 3. with torch.no_grad():的使用代替volatile:弃用volat ...

  9. iOS开发-自定义UIAlterView(iOS 7)

    App中不可能少了弹框,弹框是交互的必要形式,使用起来也非常简单,不过最近需要自定义一个弹框,虽然iOS本身的弹框已经能满足大部分的需求,但是不可避免还是需要做一些自定义的工作.iOS7之前是可以自定 ...

  10. ListPopupWindow 列表弹窗 常见弹窗区别

    案例 private void showPopupWindow(final Context context, @NonNull View anchorView) { final String[] po ...