文章 > Python基础教程 > python闭包中的函数使用

python闭包中的函数使用

头像

小妮浅浅

2021-03-03 15:13:04396浏览 · 0收藏 · 0评论

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

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基础教程

关注公众号

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图 底部广告图按钮