实例一
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 counter(start=0): def incr(): nonlocal start start += 1 return start return incr c1 = counter(5) print(c1()) print(c1()) c2 = counter(50) print(c2()) print(c2()) ###修改外部函数中的变量总结
函数内的属性,都是有声明周期,都是在函数执行期间 内部函数对外部函数**作用域**里**变量**的引用 闭包内的闭包函数私有化了变量,完成了数据的封装,类似与面向对象