位置: 编程技术 - 正文
推荐整理分享Python两个内置函数 locals 和globals(学习笔记)(两个python中内置的数值运算函数),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:两个python中内置的数值运算函数,python内置函数hex,两个python中内置的数值运算函数,python两个内置函数,python两个内置函数,python内置函数hex,python两个函数互相调用,两个python中内置的数值运算函数,内容如对您有帮助,希望把文章链接给更多的朋友!
Python两个内置函数——locals 和globals
这两个函数主要提供,基于字典的访问局部和全局变量的方式。在理解这两个函数时,首先来理解一下python中的名字空间概念。Python使用叫做名字空间的东西来记录变量的轨迹。名字空间只是一个字典,它的键字就是变量名,字典的值就是那些变量的值。实际上,名字空间可以象Python的字典一样进行访问
每个函数都有着自已的名字空间,叫做局部名字空间,它记录了函数的变量,包括函数的参数和局部定义的变量。每个模块拥有它自已的名字空间,叫做全局名字空间,它记录了模块的变量,包括函数、类、其它导入的模块、模块级的变量和常量。还有就是内置名字空间,任何模块均可访问它,它存放着内置的函数和异常。
当一行代码要使用变量 x 的值时,Python会到所有可用的名字空间去查找变量,按照如下顺序:
1.局部名字空间 - 特指当前函数或类的方法。如果函数定义了一个局部变量 x,Python将使用这个变量,然后停止搜索。2.全局名字空间 - 特指当前的模块。如果模块定义了一个名为 x 的变量,函数或类,Python 将使用这个变量然后停止搜索。3.内置名字空间 - 对每个模块都是全局的。作为最后的尝试,Python将假设 x 是内置函数或变量。
如果Python在这些名字空间找不到 x,它将放弃查找并引发一个 NameError 的异常,同时传递There is no variable named 'x' 这样一条信息。
象Python中的许多事情一样,名字空间在运行时直接可以访问。特别地,局部名字空间可以通过内置的 locals 函数来访问。全局(模块级别)名字空间可以通过 globals 函数来访问
locals 介绍
globals 介绍
由此可见,发现globals 函数返回一个全局变量的字典,包括所有导入的变量。
#局部变量函数locals例子(locals 返回一个名字/值对的字典。):
from module import 和 import module之间的不同。使用 import module,模块自身被导入,但是它保持着自已的名字空间,这就是为什么你需要使用模块名来访问它的函数或属性(module.function)的原因。但是使用 from module import,实际上是从另一个模块中将指定的函数和属性导入到你自己的名字空间,这就是为什么你可以直接访问它们却不需要引用它们所来源的模块的原因。
locals 是只读的,globals 不是
Fabric 应用案例 示例1:文件打包,上传与校验我们时常做一些文件包分发的工作,实施步骤一般是先压缩打包,在批量上传至目标服务器,最后做一致性校验,本案例
python 网络编程常用代码段 服务器端代码:#-*-coding:cp-*-importsocketsock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)#初始化socketsock.bind((".0.0.1",))#绑定本机地址,端口sock.listen(5)#等
Django URL传递参数的方法总结 1无参数情况配置URL及其视图如下:(r'^hello/$',hello)defhello(request):returnHttpResponse("HelloWorld")访问
上一篇:Python 提取dict转换为xml/json/table并输出的实现代码(python dict 转 list)
友情链接: 武汉网站建设