python闭包详解(实例)
发布时间:2025-09-23 10:55:26

相信大多数学过编程的同学都很熟悉“闭包”这个词,但有时候还是很难理解的。
首先,定义:封闭包是由函数和相关引用环境组成的实体。例如,参考资源中有一个定义:在实现深度约束时,需要创建一个能够显示引用环境的东西,并将其与相关子程序捆绑在一起,因此整个捆绑被称为封闭包。
python闭包(closure)其实并不是很复杂。
一般来说,如果在内部函数中引用外部作用域(但不是全局作用域)的变量,则内部函数被认为是封闭的(closure)。它只是一个由名称(变量)指代的“内层”函数,而这个名称(变量)是“外层”包含其函数的本地变量。
也许你还是不明白什么是闭包,没关系,看完下面的小例子你一定会明白的!
#!/usr/bin/envpython #coding=utf-8 #http://www.pythontab.com #定义函数 defplus(number): #在函数内部再定义函数,其实这个里面的函数就被认为是闭包 defplus_in(number_in): #在这里打印number_in变量,让大家更清楚传输的变量是哪一个。 printstr(number_in)+"\r\n" returnnumber+number_in #事实上,这里返回的是闭包的结果 returnplus_in #给plus函数赋值,这20是给参数number v1=plus(20) printv1(100)#注意这里的100实际上给参数number_in
运行结果
100 120
注:100是print str(number_in) + "\r\n"打印结果,说到这里,大家都知道什么是封包~~
