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__':
# s1 = partial(spam, 1)
# s1(3, 5, 6)
temp = make_handler(1)
temp(1)
temp(2)
temp(3)
结果是2,3,4
闭包是指内联函数可以引用到函数的局部变量。从java的角度来说,sequence就像是static 变量。