# 闭包相当于构建一个作用域
def counter():
cnt = [0]
# 内部定义的函数使用该作用域
def add_one():
cnt[0] += 1
return cnt[0]
return add_one
num1 = counter()
print(num1())
print(num1())
print(num1())
# 输出
1
2
3
# 避免每次都传 a, b, 所以使用闭包
def a_line(a, b):
def arg_y(x):
return a*x+b
return arg_y
line1 = a_line(3, 5)
print(line1(10))
# 输出
35