python返回函数有什么作用?

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

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

deflazy_sum(*args):
defsum():
ax=0
forninargs:
ax=ax+n
returnax
returnsum

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

>>>f=lazy_sum(1,3,5,7,9)
>>>f
<functionlazy_sum.<locals>.sumat0x101c6ed90>

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

>>>f()
25

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

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。