python3 闭包的两种情况
闭包:
1.在函数内部再定义一个函数 2.这个函数必须用到了外边的函数的变量
作用:变相延长外部函数生命周期
装饰器:
其实就是一个闭包,把一个函数当做参数然后返回一个替代版函数
In [33]: def test(number):
...: def test_in(number_in):
...: print("ceshi %d"%number_in)
...: return number+number_in
...: return test_in
...:
In [34]: test(10)(20)
ceshi 20
Out[34]: 30
In [35]: f=test(10)
In [36]: f(20)
ceshi 20
Out[36]: 30