python返回函数有什么作用?

python返回函数有什么作用?
python返回函数有什么作用?

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

1、可以看到函数log它最终的返回值是一个函数wrapper。在python中,返回函数指:对于一个函数c,它最后的返回值是一个函数d,那么函数c就是一个返回函数。返回函数的好处就是当调用c函数时不用立即执行c中的所有逻辑,我们可以看下面的例子:

def lazy_sum(*args):
    def sum():
        ax = 0
        for n in args:
            ax = ax + n
        return ax
    return sum

2、函数lazy_sum实现了一个求和的功能,当我们调用lazy_sum时,其返回的不是直接的求和值,而是一个函数sum,

>>> f = lazy_sum(1, 3, 5, 7, 9)
>>> f
<function lazy_sum.<locals>.sum at 0x101c6ed90>

3、这里f变量其实就是sum函数,所以要求和的值时,调用f才可以。

>>> f()
25

“当有一个函数h,它定义了内部函数g,最后返回了函数g,并且在该过程中g还使用了h函数的局部变量,那么这种程序python中称之为 闭包 ”。根据闭包定义,其实它也是一种返回函数,只不过它的内部函数使用了外部函数的局部变量(入参)。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注