# 什么是闭包呢?在函数内部再定义一个函数,并且这个函数用到了外边函数的变量,那么将这个函数以及用到的一些变量称之为闭包 # 理解闭包是理解装饰器的前提 # 我们直接看闭包的应用吧 # 假设呢我们的直线的a、b是不确定的,x也是不确定的,每当我们要构造一条直线确定y值时,我们需要传递三个参数a、b、x,这极大地减少了代码的可移植性 # 通过使用闭包呢?可以先构造出这条直线,然后再传入x(想传什么传什么,还不用构造直线了),计算y值 def test01(a, b): def test02(x): return a * x + b return test02 test1 = test01(1, 1) test2 = test01(4, 5) print(test1(5)) print(test2(5))