Python闭包实现计数器的方法

yipeiwu_com6年前Python基础

本文实例讲述了Python闭包实现计数器的方法。分享给大家供大家参考。具体实现方法如下:

先来看看专业的解释:闭包(Closure)是词法闭包(Lexical Closure)的简称,是引用了自由变量的函数。这个被引用的自由变量将和这个函数一同存在,即使已经离开了创造它的环境也不例外。所以,有另一种说法认为闭包是由函数和与其相关的引用环境组合而成的实体。

代码如下:

#!/usr/bin/env python
#coding=utf-8
def generate_counter():
  CNT = [0]
  def add_one():
    CNT[0] = CNT[0] + 1
    return CNT[0]
  return add_one
counter = generate_counter()
print counter()   # 1
print counter()   # 2
print counter()   # 3

希望本文所述对大家的Python程序设计有所帮助。

相关文章

python实现微信防撤回神器

本文实例为大家分享了python实现微信防撤回神器的具体代码,供大家参考,具体内容如下 手写辛苦,希望给赞 #!/usr/local/bin/python3 # coding=utf...

python3 判断列表是一个空列表的方法

python3 判断空列表 @(python3) 有个判断列表是否为空的需求,试了好多方式,比如: a = [] if a is not None: COMMAND a =...

PyQt5 在label显示的图片中绘制矩形的方法

PyQt5 在label显示的图片中绘制矩形的方法

在利用QT编写GUI程序时经常需要一些交互操作,常见的有鼠标事件、键盘事件等。今天我们要实现的是在label中已经显示的图像中绘制矩形框,以便进行下一步操作(如放大细节,选中感兴趣区域等...

使用Python解析JSON数据的基本方法

Python的json模块提供了一种很简单的方式来编码和解码JSON数据。 其中两个主要的函数是 json.dumps() 和 json.loads() , 要比其他序列化函数库如pic...

使用k8s部署Django项目的方法步骤

接触了一下docker和k8s,感觉是非常不错的东西。能够方便的部署线上环境,而且还能够更好的利用机器的资源,感觉是以后的大趋势。最近刚好有一个基于django的项目,所以就把这个项目打...