首页 存档 技术 查看内容

Python进阶:携带状态的闭包

2018-3-30 13:00 |来自: 互联网 324 0

摘要: 以前也发过介绍闭包的文章,今天学习一下如何在闭包中携带状态。 作者:Ethan 原文:https://funhacks.net/2016/11/17/closure/ 闭包 在 Python 中,函数也是一个对象。因此,我们在定义函数时,可以再嵌套定义一个 ...

以前也发过介绍闭包的文章,今天学习一下如何在闭包中携带状态。

作者:Ethan

原文:https://funhacks.net/2016/11/17/closure/

闭包

在 Python 中,函数也是一个对象。因此,我们在定义函数时,可以再嵌套定义一个函数,并将该嵌套函数返回,比如:

  1. from math import pow

  2. def make_pow(n):

  3. def inner_func(x): # 嵌套定义了 inner_func

  4. return pow(x, n) # 注意这里引用了外部函数的 n

  5. return inner_func # 返回 inner_func

上面的代码中,函数make_pow里面又定义了一个内部函数inner_func,然后将该函数返回。因此,我们可以使用make_pow来生成另一个函数:

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部