首页 / 知识
Python语言专题
2023-11-12 13:24:00
名字空间
python使用叫做名字空间的东西来记录变量的轨迹.名字空间只是一个dictionary,它的键字就是变量名,它的值就是那些变量的值.实际上,名字空间可以象Python的dictionary一样进行访问.
局部名字空间:
每个函数都有着自已的名字空间--局部名字空间,它记录了函数的变量,包括函数的参数和局部定义的变量.
全局名字空间:
每个模块拥有它自已的名字空间--全局名字空间,它记录了模块的变量,包括函数,类,其它导入的模块,模块级的变量和常量.
>>内置名字空间:
任何模块均可访问它,它存放着内置的函数和异常.
当一行代码要使用变量x的值时,Python会到所有可用的名字空间去查找变量,按照如下顺序:
局部名字空间-特指当前函数或类的方法.如果函数定义了一个局部变量x,或一个参数x,Python将使用它,并停止搜索;
全局名字空间-特指当前的模块.如果模块定义了一个名为x的变量,函数或类,Python将使用它并停止搜索;
内置名字空间-对每个模块都是全局的.作为最后的尝试,Python将假设x是内置函数或变量.
如果Python在这些名字空间找不到x,它将放弃查找并引发一个NameError异常,同时传递Thereisnovariablenamed'x'这样一条信息.
Python2.2引入了一种略有不同但重要的改变,它会影响名字空间的搜索顺序:嵌套的作用域.在Python2.2版本之前,当在一个嵌套函数或lambda函数中引用一个变量时,Python会在当前(嵌套的或lambda)函数的名字空间中搜索,然后在模块的名字空间.Python2.2将只在当前(嵌套的或lambda)函数的名字空间中搜索,然后是在父函数的名字空间中搜索,接着是模块的名字空间中搜索.Python2.1可以两种方式工作,缺省地,按Python2.0的方式工作.但是可以把下面一行代码增加到模块的头部,使模块工作起来象Python2.2的方式:
from__future__importnested_scopes
以上内容为大家介绍了Python语言专题,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注我们
最新内容
相关内容
python3如何引入模块?
python3如何引入模块?,系统,位置,培训,标准,模块,方法,成员,路径,下面,别名,使用Python进行编程时,有些功能没必须自己实现,可以借助Python现有python中函数怎么表示?
python中函数怎么表示?,名称,标准,培训,代码,函数,圆括号,字符串,表达式,选择性,自变量,python中函数定义规则:·函数代码块以def关键词开头,后如何在python代码中指定保存的文件
如何在python代码中指定保存的文件格式,代码,培训,文件格式,格式,二进制文件,文件,后缀,以上,方法,更多,python指定保存文件格式的方法:1、保python如何看变量属性
python如何看变量属性,培训,属性,函数,变量,参数,对象,方法,列表,范围内,字典,1、使用dir()函数查看dir()函数不带参数时,返回当前范围内的变python函数里面形参和实参一样吗?
python函数里面形参和实参一样吗?,培训,函数,参数,里面,变量,实际,形式,全称,示例,后面,python函数里面形参和实参不一样。形参全称是形式参python如何查看所有变量
python如何查看所有变量,名称,培训,模块,变量,成员,函数,全部,所指,字符串,结尾,python中可以使用dir()函数查看所有变量。通过dir()函数,我们python中的open函数如何编码?
python中的open函数如何编码?,数据,系统,可取,培训,文件,参数,函数,时候,表示,模式,python中的open函数可以通过在打开文件时添加encoding参python如何查找是否存在某个变量?
python如何查找是否存在某个变量?,培训,变量,函数,定义,属性,参数,字典,对象,类型,方法,python中可以使用locals()、dir()、vars()等函数来查python中什么叫递归函数?
python中什么叫递归函数?,规模,培训,函数,嵌套,内部,不是,实例,特性,层次,效率,1、什么叫递归函数?在函数内部,可以调用其他函数。如果一个函Python写完代码怎么用
Python写完代码怎么用,代码,下来,数字,概念,培训,文本,模式,文件,程序,路径,python运行有两种方式,一种是在python交互式命令行下运行;另一种怎么查看python模块在什么位置
怎么查看python模块在什么位置,位置,代码,培训,模块,路径,下面,以上,文件,方法,更多,查看python模块在什么位置的方法:若要获取模块的文件名为python有主函数吗?
python有主函数吗?,代码,情况,培训,模块,函数,脚本,作用,方式,文件,文件名,python有主函数,书写格式如下:if__name__==__main__:passpython主函