闭包的格式
def 外层函数(参数):
def 内层函数():
print("内层函数执行", 参数)
return 内层函数
内层函数的引用 = 外层函数("传入参数")
内层函数的引用()
#闭包函数的实例
# outer是外部函数 a和b都是外函数的临时变量
def outer( a ):
b = 10 # b 代表要重复利用的数据
# inner是内函数
def inner():
# 在内函数中 用到了外函数的临时变量
print(a+b)
# 外函数的返回值是内函数的引用
return inner
if __name__ == '__main__':
demo = outer(5)
demo() # 结果:15
demo2 = outer(7)
demo2() # 结果:17
对于闭包,也可以这样设计:
def outer( a ):
b = 10
def inner():
print(a+b)
return inner
outer(5)( )
闭包应用:一元一次函数求解
def line_conf(a,b):
def line(x):
return a*x+b
return line
line1=line_conf(1,1)
line2=line_conf(4,5)
print(line1(5))
print(line2(5))
闭包,也可以这样设计和使用:
def line_conf(a,b):
def line(x):
return a*x+b
return line
print(line_conf(1,1)(5))

