闭包是Python和JavaScript等语言的独占语法,有配置设置和简化输入等应用场景。
闭包的制作和使用
制作一个闭包
闭包是这样制作的:
def config(a): #定义外部函数
def add(b): #定义内部函数
return a + b #返回两个参数的和
return add #返回add()的引用(类似于指针),会带着参数跳转到此函数
使用闭包
config1 = config(2) #将外部函数(包括外部函数参数a)赋值给一个变量,这就是内部函数的“配置文件”
print('2 + 3 == ' + str(config1(3))) #然后变量成功变身,可以当函数使用了,其参数就是内部函数参数b
print('2 + 4 == ' + str(config1(4))) #你可以改变参数的值
config2 = config(1) #如果想要改变“配置文件”的参数也可以,不同“配置文件”互不打扰
print('1 + 3 == ' + str(config2(3)))
输出如下:
2 + 3 == 5
2 + 4 == 6
1 + 3 == 4