def make_handler(sequence):
def handler(result):
nonlocal sequence
sequence +=
1
print(
'[{seq} Got: {result}]'.format(seq=sequence, result=result))
return handler
if __name__ ==
'__main__':
temp = make_handler(
1)
temp(
1)
temp(
2)
temp(
3)
结果是2,3,4 闭包是指内联函数可以引用到函数的局部变量。从java的角度来说,sequence就像是static 变量。
转载请注明原文地址: https://ju.6miu.com/read-669841.html