python的名称空间和作用域

1、

 

 

2、

内置名称空间:

Python解释器启动则产生,关闭即销毁

 

全局名称空间:

存放的名字:运行顶级代码产生的名字,或者说不是函数的定义,也不是内置的,剩下的都是。

存活的周期:Python文件执行则产生,Python文件运行完毕后销毁

 

局部名称空间:

存放的名字:再调用函数时,运行函数体代码过程中产生的函数内的名字。

存活的周期:再调用函数中存活,调用函数结束后销毁。

 

名称空间的加载顺序

内置全局空间-全局名称空间-局部名称空间

 

名称空间的销毁顺序

局部名称空间-全局名称空间-内置全局空间

 

 

3、

如果当前再全局空间,查找顺序:全局名称空间-内置名称空间

 

如果当前再局部名称空间,局部名称空间-全局名称空间-内置全局空间去查找

 

全局作用域:内置名称空间,全局名称空间
1、全局存活
2、被所有的函数共享
 
局部作用域:局部名称空间的名字
1、临时存活
2、局部有效,函数内有效
 
 
4、名称空间的嵌套关系:是以定义阶段为准,与调用位置无关

4.1

 

4.2

 

 

 

5、global 修改全局变量

当x为不可变类型时

 

当x为可变类型时

 

 

6、修改函数外层函数包含的函数对应的值

当x为不可变类型时

 

 当x为可变类型时

 

posted @ 2023-06-07 14:07  moon_p  阅读(16)  评论(0)    收藏  举报