Python | 闭包理解

闭包是什么?简单来说,就是一个函数A中包含另一个函数B,函数B中用到了函数A中的变量

def test(a):
    def test_in(b):
        print('in test_in 函数, b is %d' % b)
        return a+b
    return test_in

ret = test(20)
print(ret(100))
print(ret(200))
>>>
in test_in 函数, number_in is 100
120
in test_in 函数, number_in is 200
220

这里a是20,b是100或200,ret其实就是相当于test_in

怎么样,闭包还是很容易理解吧

理解闭包的形式主要因为后面的 装饰器 的使用基础就是闭包,装饰器是一个非常重要的功能

而且工厂函数也是闭包的一个应用,这个后续会再讲

你可能感兴趣的:(Python | 闭包理解)