博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python globals和locals
阅读量:5250 次
发布时间:2019-06-14

本文共 1090 字,大约阅读时间需要 3 分钟。

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

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

Note:

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

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

转载于:https://www.cnblogs.com/wancy86/p/py-namespace.html

你可能感兴趣的文章
理解线程池——外加一个Word模拟程序
查看>>
360-FAAR 0.4.3 发布,防火墙分析审计
查看>>
软件工程项目组Z.XML会议记录 2013/11/27
查看>>
tcpcopy 流量复制工具
查看>>
HttpClient 教程 (五)
查看>>
vue和react的区别
查看>>
PHP文件包含漏洞利用
查看>>
什么是动态规划?动态规划的意义是什么?
查看>>
document.documentElement和document.body区别介绍
查看>>
Cocos2d-x中Vector使用
查看>>
第十一次作业
查看>>
mybatis CRUD
查看>>
负载均衡策略
查看>>
Go 语言的基本数据类型
查看>>
C# 装箱和拆箱
查看>>
.net中c#访问sql server插入数据时获取自增长列数据
查看>>
校友聊场景调研
查看>>
设计模式第一次作业
查看>>
关于uuid
查看>>
【ABAP系列】SAP 的逻辑数据库解析
查看>>