Python教程

python - 闭包

本文主要是介绍python - 闭包,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

百度百科上的定义:

闭包就是能够读取其他函数内部变量的函数。只有函数内部的子函数才能读取局部变量,所以闭包可以理解成“定义在一个函数内部的函数“。
在本质上,闭包是将函数内部和函数外部连接起来的桥梁。


举个栗子

def sum(a):
    def add(b):
        return a + b
    return add

num = sum(2)
print(num)
print(type(num))
print(num.__name__)  # 打印函数的名称,从结果可以看出,返回函数add

# 运行结果
<function sum.<locals>.add at 0x0000000001E11048>
<class 'function'>
add

解析说明

如果再一个函数内部嵌套了另外一个函数(将外部的函数和内部的函数成为外函数和内函数),函数中引用了外函数中的变量,并且外函数的返回值是内函数,称之为 闭包。


上面的列子:
sum 为外函数,add 为内函数;
内函数 add 引用了外函数 sum 的变量a;
外函数 sum 返回内函数 add
这篇关于python - 闭包的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!