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)) #6
print(line2(5)) #25
这个例子中,函数line与变量a,b构成闭包。在创建闭包的时候,我们通过line_conf的参数a,b说明了这两个变量的取值,
这样,我们就确定函数的最终形式(y = x+1)和(y = 4x+5) 我们只需要变换参数a,b就可以获得不同的直线表达式函数。
由此,我们可以看到,闭包也具有提高代码复用性的作用。