06.python闭包
2022/8/27 14:23:11
本文主要是介绍06.python闭包,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
python闭包
-
什么样的函数是 闭包函数 ?
满足以下条件:
闭:外层函数嵌套了一个内层函数。
包:内层函数调用外层函数命名空间内的名字。举例如下:
def out_func(): # 外层函数 data = 'soria' def in_func(): # 内层函数 print(data) # 内层函数调用外层函数命名空间内的变量 return in_func box = out_func() box()
执行顺序是:
1.默认顺序从上往下执行
2.遇到"="优先执行右边的out_fun()
3.执行函数out_func(),在其命名空间内,定义data,定义函数in_func(),return返回in_func
4.box接受in_func这个函数对象
5.box()相当于in_func()
6.执行in_func(),但是发现in_func()的命名空间没有data
7.去外层函数out_func的命名空间取data
8.输出'soria'
-
闭包函数 使用形参 给内层函数 传参
def out_func(data): # 外层函数 def in_func(): # 内层函数 print(data) return in_func box = out_func('soria') # 形参data与'soria'临时绑定 box() box = out_func('jason') # 形参data与'jason'临时绑定 box()
在传入'数据'这个值时,相当于将形参与"数据"这个值临时绑定。
相当于在out_func函数体内加入了一行代码:
data = 'soria'
当内层函数in_func找不到data这个值时,依然会去外层函数寻找data,
此时就找到了形参绑定的值:'soria'。
这篇关于06.python闭包的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-27Python编程基础教程
- 2024-12-27Python编程基础指南
- 2024-12-24Python编程入门指南
- 2024-12-24Python编程基础入门
- 2024-12-24Python编程基础:变量与数据类型
- 2024-12-23使用python部署一个usdt合约,部署自己的usdt稳定币
- 2024-12-20Python编程入门指南
- 2024-12-20Python编程基础与进阶
- 2024-12-19Python基础编程教程
- 2024-12-19python 文件的后缀名是什么 怎么运行一个python文件?-icode9专业技术文章分享