博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python变量状态保持四种方法
阅读量:5010 次
发布时间:2019-06-12

本文共 827 字,大约阅读时间需要 2 分钟。

Python状态保持

全局 global

1 def tester(start):2     global state3     state = start4     def nested(label):5         global state6         print(label,state)7         state += 18     return nested # 都声明为全局,只会保存一个副本,会覆盖
 

非本地 nonlocal

1 def tester(start):2     state = start3     def nested(label):4         nonlocal state5         print(label,state)6         state += 17     return nested # Python3 主流 但是作用域只能是嵌套作用域
 

类 class

1 class nested():2     def __init__(self,state):3         self.state = state4     def __call__(self,label):5         print(self.state,label)6         self.state += 1 # 有点老了

函数属性 函数名.变量名

1 def tester(start):2     def nested(label):3         print(label,nested.state)4         nested.state += 15     nested.state = start6     return nested  # 未曾用过的黑魔法,这回就知道了

 

转载于:https://www.cnblogs.com/SunQi-Tony/p/9240623.html

你可能感兴趣的文章
JDK7 新特性
查看>>
广告地址屏蔽
查看>>
收缩SqlServer数据库日记方法
查看>>
每日英语:15 places to find inspiration
查看>>
as3播放视频卡的解决方法
查看>>
python3 re模块正则匹配字符串中的时间信息
查看>>
BCP IN示例
查看>>
cacheline基本理论
查看>>
Linux-信号
查看>>
font-awesome
查看>>
数学专业的数学与计算机专业的数学的比较(转)
查看>>
力扣—— 删除字符串中的所有相邻重复项
查看>>
期末总结
查看>>
哎呀,我老大写Bug啦——记一次MessageQueue的优化
查看>>
Hive 的基本概念
查看>>
【读书笔记】《Android应用性能优化最佳实践》
查看>>
海马体记忆训练:让你拥有超常记忆力
查看>>
我不是个优秀合格的程序猿
查看>>
世界目光聚焦美国:埃博拉病患者是否认真是可以治愈的?
查看>>
职业选择測试(A/B卷)
查看>>