创新路
我们一直在努力

Python之命名空间、作用域、闭包

 命名空间

1. 命名空间分为三种

A. 全局命名空间:代码中函数外边直接定义的空间

B. 局部命名空间:函数中可以命名的空间

C. 内置命名空间:已经命名好的空间,如直接使用的print函数,解释器一开直接加载在内存当中,拿过来就可以使用的方法

2. 加载的顺序

内置命名空间(程序运行时就加载)—>全局命名空间—->局部命名空间(调用时才加载)

image.png

 

作用域

1.作用域就是作用的范围,按照范围可以分为全局作用域局部作用域

2.全局作用域:包含全局命名空间和内置命名空间,在整个文件的任意位置都可以引用使用

局部作用域:局部命名的空间,在局部范围使用有效

3.global:全局命名空间中的变量在局部命名空间中可以引用,但是无法修改,需要添加global

image.png

3.nonlocal:内部函数引用外部函数的变量进行修改,然后外部函数变量就变为修改后的值(注意,不管外部函数有几层,只要外部函数有变量就可以调用,如果外部函数中没有需要调用的变量,在全局命名空间中有的话,那么程序就会报错]

image.png

 

 

闭包

1.闭包定义:内部函数引用外部函数的变量的方法,内部函数就称为闭包函数(注意,不是应用全局的变量)

image.png

2. 闭包常用方法:直接调用内部函数:在外部函数中return内部函数,就可以直接调用内部函数了,如下图所示

image.png

未经允许不得转载:天府数据港官方信息博客 » Python之命名空间、作用域、闭包

客官点个赞呗! (0)
分享到:

评论 抢沙发

评论前必须登录!

天府云博 - 做有态度的开发&运维&设计学习分享平台!

联系我们百度云主机