Python闭包实现计数器的方法


Posted in Python onMay 05, 2015

本文实例讲述了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模块WSGI使用详解
Feb 02 Python
Python中协程用法代码详解
Feb 10 Python
python matplotlib 在指定的两个点之间连线方法
May 25 Python
Python 打印中文字符的三种方法
Aug 14 Python
python3 中文乱码与默认编码格式设定方法
Oct 31 Python
Python设计模式之原型模式实例详解
Jan 18 Python
pyqt 多窗口之间的相互调用方法
Jun 19 Python
浅谈图像处理中掩膜(mask)的意义
Feb 19 Python
Python 面向对象部分知识点小结
Mar 09 Python
解决Opencv+Python cv2.imshow闪退问题
Apr 24 Python
python爬虫用mongodb的理由
Jul 28 Python
Python 正则模块详情
Nov 02 Python
深入探究Python中变量的拷贝和作用域问题
May 05 #Python
Python使用metaclass实现Singleton模式的方法
May 05 #Python
python中查看变量内存地址的方法
May 05 #Python
Python中统计函数运行耗时的方法
May 05 #Python
Python调用命令行进度条的方法
May 05 #Python
Python记录详细调用堆栈日志的方法
May 05 #Python
进一步探究Python的装饰器的运用
May 05 #Python
You might like
php循环输出数据库内容的代码
2008/05/24 PHP
php有道翻译api调用方法实例
2014/12/22 PHP
Laravel执行migrate命令提示:No such file or directory的解决方法
2016/03/16 PHP
PHP获取指定时间段之间的 年,月,天,时,分,秒
2016/06/05 PHP
PHP 实现人民币小写转换成大写的方法及大小写转换函数
2017/11/17 PHP
Javascript SHA-1:Secure Hash Algorithm
2006/12/20 Javascript
在Javascript中定义对象类别
2006/12/22 Javascript
通过 Dom 方法提高 innerHTML 性能
2008/03/26 Javascript
JavaScript 盒模型 尺寸深入理解
2012/12/31 Javascript
jQuery实现点击该行即可删除HTML表格行
2014/10/17 Javascript
使用Chrome调试JavaScript的断点设置和调试技巧
2014/12/16 Javascript
javascript实现时间格式输出FormatDate函数
2015/01/13 Javascript
JavaScript插件化开发教程 (二)
2015/01/27 Javascript
express文件上传中间件Multer详解
2016/10/24 Javascript
JS 对java返回的json格式的数据处理方法
2016/12/05 Javascript
如何使用Bootstrap创建表单
2017/03/29 Javascript
简述vue中的config配置
2018/01/23 Javascript
微信小程序dom操作的替代思路实例分析
2018/12/06 Javascript
JavaScript使用canvas绘制随机验证码
2020/02/17 Javascript
基于原生js实现判断元素是否有指定class名
2020/07/11 Javascript
nuxt 实现在其它js文件中使用store的方式
2020/11/05 Javascript
[16:43]Heroes19_剃刀(完美)
2014/10/31 DOTA
Python使用scrapy采集数据过程中放回下载过大页面的方法
2015/04/08 Python
Python通过RabbitMQ服务器实现交换机功能的实例教程
2016/06/29 Python
PyCharm设置护眼背景色的方法
2018/10/29 Python
对Python 语音识别框架详解
2018/12/24 Python
对python文件读写的缓冲行为详解
2019/02/13 Python
python 根据字典的键值进行排序的方法
2019/07/24 Python
django drf框架自带的路由及最简化的视图
2019/09/10 Python
python分别打包出32位和64位应用程序
2020/02/18 Python
Pycharm激活码激活两种快速方式(附最新激活码和插件)
2020/03/12 Python
Python爬虫之App爬虫视频下载的实现
2020/12/08 Python
美国在线轮胎零售商:SimpleTire
2019/04/08 全球购物
什么是动态端口(Dynamic Ports)?动态端口的范围是多少?
2014/12/12 面试题
大学生团员个人总结
2015/02/14 职场文书
七一表彰大会简报
2015/07/20 职场文书