有状态的函数
有三种方式:
全局变量、闭包、类
这里简单看一下闭包怎么实现的
1 """ 2 闭包实现有状态函数 3 """ 4 5 6 def counter(): 7 value = 0 8 9 def wrapper(): 10 # 内部实现修改外部变量 11 nonlocal value 12 value += 1 13 return value 14 15 return wrapper 16 17 18 if __name__ == '__main__': 19 c = counter() 20 print(c()) 21 print(c()) 22 print(c())
output:
1
2
3