关键词:
名称空间:
内置 全局 局部
内置命名空间 存放python解释器为我们提供的名字list str tuple之类的
全局命名空间 直接在py文件中,函数外部声明的变量都是属于命名空间
局部命名空间 在函数中声明的变量
取值顺序:
1.局部命名空间
2.全局命名空间
3.内置命名空间
加载顺序:
1.内置空间
2.全局空间
3.局部空间
作用域:就是作用的范围,按照生效范围来分为全局作用域和局部作用域
全局作用域:包含命名空间和全局命名空间 在整个文件的任何位置都可以使用(遵循从上到下逐步执行)
局部作用域:在函数内部可以使用
globals() 查看全局变量
locals() 查看局部变量
a = 10 def func(): a = 40 b = 20 def abc(): print("哈哈") print(a, b) # 这里使用的是局部作用域 print(globals()) # 打印全局作用域中的内容 print(locals()) # 打印局部作用域中的内容 abc() func()
结果:
哈哈
40 20
‘__name__‘: ‘__main__‘, ‘__doc__‘: None, ‘__package__‘: None, ‘__loader__‘: <_frozen_importlib_external.SourceFileLoader object at 0x00000000006B5A20>, ‘__spec__‘: None, ‘__annotations__‘: , ‘__builtins__‘: <module ‘builtins‘ (built-in)>, ‘__file__‘: ‘C:/Users/Administrator/PycharmProjects/untitled/函数复习.py‘, ‘__cached__‘: None, ‘a‘: 10, ‘func‘: <function func at 0x00000000003B1E18>
‘b‘: 20, ‘a‘: 40
修改全局变量:
a = 10 def func(): def abc(): global a #声明修改全局变量a a = 22 #对a进行修改 print(a) abc() func() print(a) 结果: 22 22
global修改全局变量 但是只能在局部修改 在全局会报错
a = 10 def func(): a = 22 def abc(): nonlocal a #声明父类离得最近的非全局变量a a =66 #对a进行修改 print(a) abc() print(a) func() print(a) 结果: 66 66 10
nolocal修改父类离得最近的非全局的变量
名称空间
名称空间又名namespace,名称空间就是存放变量名与变量值绑定关系的地方名称空间共3种,分别如下locals:是函数内的名称空间,包括局部变量和形参(locals打印当前所在名称空间里的所有局部变量)globals:全局变量,函数定义所在... 查看详情
名称空间与作用域
#_*_coding:utf-8_*_#名称空间#1.名称空间(Namespaces):指的是在内存空间中存放名字与值内存地址绑定关系#2.名称空间分为三大类#1、python解释器先启动,因而首先加载的是:内置名称空间#2、执行test.py文件,然后以文件为基础,加... 查看详情
九名称空间作用域
名称空间 就是存放名字的一个地方a=1开辟内存,存入1,a指向1的内存地址a存放在名称空间,存的是a和1的绑定关系 三种名称空间: 一、内置名称空间python自带的都存放在这,解释器启动后就加载生成该名称空间存放内... 查看详情
作用域和名称空间
名称空间:用来存放名字(变量,函数名,类名,引入的模块名)的1.全局名称空间:我们在py文件中自己写的变量,函数.....2.内置名称空间:我们python解释器提供好的一些内置内容(print,input....)3.局部名称空间:在我们执行函数的时候.会产生... 查看详情
闭包函数以及装饰器
三种名称空间内置名称空间:随着python解释器的启动而产生全局名称空间:文件级别定义的名字会放入该空间局部名称空间:调用函数时会产生局部名称空间,只在函数调用时临时有效作用域全局作用域:内置名称空间,全局名... 查看详情
名称空间与作用域
一名称空间相关1.名称空间Namespaces:指的就是存放名字与值内存地址绑定关系的地方(内存空间)2.名称空间分为三大类内置名称空间:存放的是python解释器自带的名字 产生:python解释器的启动则产生 销毁:python解释器关... 查看详情
php命名空间的三种引用方式:非限定名称限定名称完全限定名称(代码片段)
阅读目录1、非限定名称:省略空间名称,使用默认或当前的命名空间2、限定名称:前面必须添加命名空间才可访问,通常用于子空间3、完全限定名称:类似绝对目录,从全局空间的反斜线开始\\1、非限定名称:省略空间名称,... 查看详情
php命名空间的三种引用方式:非限定名称限定名称完全限定名称(代码片段)
阅读目录1、非限定名称:省略空间名称,使用默认或当前的命名空间2、限定名称:前面必须添加命名空间才可访问,通常用于子空间3、完全限定名称:类似绝对目录,从全局空间的反斜线开始\\1、非限定名称:省略空间名称,... 查看详情
名称空间和作用域(代码片段)
一名称空间一定义名称空间:存放名字的地方,三种名称空间(x=1,1存放于内存中,那名字x存放在哪里呢?名称空间正是存放名字x与1绑定关系的地方)二名称空间的加载顺序pythontest.py#1、python解释器先启动,因而首先加载的... 查看详情
07-03名称空间与作用域(代码片段)
[TOC]一名称空间名称空间即存放名字与对象映射/绑定关系的地方。对于x=3,Python会申请内存空间存放对象3,然后将名字x与3的绑定关系存放于名称空间中,delx表示清除该绑定关系。?在程序执行期间最多会存在三种名称空间插图... 查看详情
错误“名称空间'System.Web'中不存在类型或名称空间名称'Script'”背后是不是有解释
】错误“名称空间\\\'System.Web\\\'中不存在类型或名称空间名称\\\'Script\\\'”背后是不是有解释【英文标题】:Isthereanexplanationbehindtheerror"Thetypeornamespacename\'Script\'doesnotexistinthenamespace\'System.Web\'"错误“名称空间\'System.Web\'中... 查看详情
命名空间作用域
三者的加载顺序:内置名称空间->全局名称空间->局部名称空间取值:局部名称空间->全局名称空间->内置名称空间命名空间 全局命名空间:创建的存储“变量名与值的关系”的空间叫做全局命名空间 局部命... 查看详情
xml名称空间详解(代码片段)
...:https://www.cnblogs.com/xugang/archive/2010/02/26/1674333.htmlXML中的名称空间又被叫做命名空间。名称空间的作用?为了解决不同领域的XML词汇的同名冲突和区分识别。(参考底下的示例)注意:名称空间只存在逻辑意义,无法真正实现对U... 查看详情
函数的作用域和名称空间
...成型在函数定义阶段,与函数调用无关全局作用域:内置名称空间与全局名称空间的名字属于全局范围, 在整个文件的任意位置都能被引用,全局有效局部作用域:局部名称空间的名字属于局部范围, ... 查看详情
如何在 XSLT 输出中控制名称空间前缀(特别是默认名称空间)?
】如何在XSLT输出中控制名称空间前缀(特别是默认名称空间)?【英文标题】:HowdoIcontrolnamespaceprefixes(specificallythedefaultnamespace)inXSLToutput?【发布时间】:2021-03-2203:11:10【问题描述】:在XSLT中有什么方法可以控制输出元素中名称... 查看详情
函数-名称空间(代码片段)
名称空间分类:全局名称空间,局部名称空间,内置名称空间。 我们首先回忆一下Python代码运行的时候遇到函数是怎么做的。 从Python解释器开始执行之后,就在内存中开辟里一个空间,每当遇... 查看详情
名称空间和作用域(代码片段)
名称空间定义:内存有一块内存存储变量名与变量间的绑定关系的空间,存放名字(变量名/函数名)1.内置名称空间内置名称空间是python解释器独有的,存放python解释器自带的名字,如int,float,len当Python解释器启动的时候python自动开辟内... 查看详情
错误 CS0234 名称空间“MvvmCross”中不存在类型或名称空间名称“Platforms”(您是不是缺少程序集引用?)
】错误CS0234名称空间“MvvmCross”中不存在类型或名称空间名称“Platforms”(您是不是缺少程序集引用?)【英文标题】:ErrorCS0234Thetypeornamespacename\'Platforms\'doesnotexistinthenamespace\'MvvmCross\'(areyoumissinganassemblyreference?)错误CS0234名称空... 查看详情