有状态的函数

有三种方式:

    全局变量、闭包、类

这里简单看一下闭包怎么实现的

 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

posted on 2022-12-09 10:56  默玖  阅读(23)  评论(0编辑  收藏  举报

导航