有状态的函数

平常我们写的都是无状态函数,都是易于理解的

其实我们是可以给函数加状态的:这里给出三种方式,实现有状态的函数

1、全局变量

  这是我们最先能想到的,易理解,但其实也是最不提倡的一种方式

2、闭包

  相比于全局变量,封装性更好一些,不会污染全局的命名空间

复制代码
 1 def get_num():
 2     num = 0
 3 
 4     def _get_num():
 5         nonlocal num
 6         num += 1
 7         return num
 8 
 9     return _get_num
10 
11 
12 g = get_num()
13 print(g())
14 print(g())

output:
    1
    2
复制代码

3、类

  在实例方法内改变状态

综上比较提倡后两者

 

posted on   默玖  阅读(43)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示