ITPub博客

首页 > IT职业 > IT图书 > python闭包中的函数使用

python闭包中的函数使用

IT图书 作者:muren 时间:2021-09-11 09:58:49 0 删除 编辑

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

由于类可以保存数据并且操作数据,所以很轻松就能够使用类来实现计数器。

1、说明

函数本身没法在每次调用时保存数据,所以无法实现一个计数器的功能。但当我们有了 闭包函数,就能够用函数的形式来实现计数器了。

2、实例

我们用闭包函数实现了一个计数器。

def make_counter():
    num = 0
 
    def counter():
        nonlocal num
        num += 1
        return num
 
    return counter
 
counter = make_counter()
print(counter())  # 1
print(counter())  # 2
print(counter())  # 3

会发现内部counter函数有一个nonlocalnum语句,并且可以根据global关键字来理解关键字nonlocal的作用。在函数范围内修改全局范围内的不可变类型变量时,我们使用global关键字来表明某个变量是全局变量,nonlocal关键字也可以表示num是闭包中的变量,global关键字有一个专业术语叫自由变量。一般来说,函数执行完毕后,函数内部的变量将随之被销毁,而自由变量num不会立即被销毁,它与counter函数一起构成闭包。

以上就是python闭包中的函数使用,希望能对大家有所帮助。更多Python学习指路:python基础教程

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/2388/viewspace-2830549/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: python while是什么
请登录后发表评论 登录
全部评论

注册时间:2019-08-15

  • 博文量
    104
  • 访问量
    819