闭包:
闭包是函数式编程的一个重要的语法结构,函数式编程是一种编程范式 (而面向过程编程和面向对象编程也都是编程范式)。在面向过程编程中,我们见到过函数(function);在面向对象编程中,我们见过对象(object)。函数和对象的根本目的是以某种逻辑方式组织代码,并提高代码的可重复使用性(reusability)。闭包也是一种组织代码的结构,它同样提高了代码的可重复使用性。
不同编程语言实现闭包的方式是不同的,python中闭包从表现形式上看,如果在一个内部函数里,对在外部作用域(但不是在全局作用域)的变量进行引用,那么内部函数就被认为是闭包(closure)。
def outSide(a,b):
def inside():
return a+b
return inside
outSide(5,6)
print(outSide(10,11))
result = outSide(11,10)
print(result())
外层函数包含内层函数,同事内层函数使用外层函数的参数
并且将内层函数返回出去,这种现象称之为闭包
1.函数包裹函数
2.内层使用外层函数的参数
3.内层函数当成返回值