Python闭包实现计数器的方法

yipeiwu_com7年前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使用pandas处理CSV文件的实例讲解

Python使用pandas处理CSV文件的实例讲解

Python中有许多方便的库可以用来进行数据处理,尤其是Numpy和Pandas,再搭配matplot画图专用模块,功能十分强大。 CSV(Comma-Separated Values)...

python通过paramiko复制远程文件及文件目录到本地

最近写运维自动化平台,需要用python写很多的小功能模块。 这里就分享一个用Python的paramiko来实现功能的一段代码: 复制远程服务器上的文件及文件夹到本地目录。 解释一下什...

在Debian下配置Python+Django+Nginx+uWSGI+MySQL的教程

最近尝试把项目迁移到Python环境下,特别新装了一台干净的Debian系统,准备重新配置环境,上网找了一些运行Python Web的环境方案,最后敲定Nginx+uWSGI组合,Ngi...

Ubuntu下升级 python3.7.1流程备忘(推荐)

Ubuntu下升级 python3.7.1流程备忘(推荐)

下载源码 wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz 解压源码 tar -xvzf Python-3.7....

Java实现的执行python脚本工具类示例【使用jython.jar】

本文实例讲述了Java实现的执行python脚本工具类。分享给大家供大家参考,具体如下: 这里java中执行python脚本工具类,需要使用jython.jar java中执行pytho...