1.概念
闭包(closure)是函数式编程的重要的语法结构,Python也支持这一特性,下面就开始介绍Python中的闭包。
内部函数包含对外部作用域而非全剧作用域名字的引用,该内部函数称为闭包函数
#函数内部定义的函数称为内部函数
闭包函数的必备条件 :
(1)必须要有内层函数
(2)内层要引用外层变量
在Python中创建一个闭包可以归结为以下三点:
(1)闭包函数必须有内嵌函数
(2)内嵌函数需要引用该嵌套函数上一级namespace中的变量
(3)闭包函数必须返回内嵌函数
2.创建闭包函数
(1)创建无参数的闭包函数
结果:
(2)创建有参数的闭包函数
结果:
3.判断闭包函数
判断闭包函数的方法__closure__
输出的__closure__是一个cell对象表示是闭包函数,输出的是None 表示不是闭包函数。
(1)第一种情况
结果:
(2)第二种情况
结果: