本文主要是介绍草根学Python(十五) 闭包(解决一个需求了解闭包流程),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
网络上介绍 Python 闭包的文章已经很多了,本文将通过解决一个需求问题来了解闭包。
这个需求是这样的,我们需要一直记录自己的学习时间,以分钟为单位。就好比我学习了 2 分钟,就返回 2 ,然后隔了一阵子,我学习了 10 分钟,那么就返回 12 ,像这样把学习时间一直累加下去。
面对这个需求,我们一般都会创建一个全局变量来记录时间,然后用一个方法来新增每次的学习时间,通常都会写成下面这个形式:
time = 0def insert_time(min):time = time + minreturn timeprint(insert_time(2))
print(insert_time(10))
认真想一下,会不会有什么问题呢?
其实,这个在 Python 里面是会报错的。会报如下错误:
UnboundLocalError: local
这篇关于草根学Python(十五) 闭包(解决一个需求了解闭包流程)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!