1. # 闭包相当于构建一个作用域
    2. def counter():
    3. cnt = [0]
    4. # 内部定义的函数使用该作用域
    5. def add_one():
    6. cnt[0] += 1
    7. return cnt[0]
    8. return add_one
    9. num1 = counter()
    10. print(num1())
    11. print(num1())
    12. print(num1())
    13. # 输出
    14. 1
    15. 2
    16. 3
    17. # 避免每次都传 a, b, 所以使用闭包
    18. def a_line(a, b):
    19. def arg_y(x):
    20. return a*x+b
    21. return arg_y
    22. line1 = a_line(3, 5)
    23. print(line1(10))
    24. # 输出
    25. 35