函数作为返回值
函数除了作为代码块,作为接收参数,还可以把函数作为结果返回。 例子:
可变参数的求和:
通常
def calc_sum(*args):
ax = 0
for n in args:
ax = ax + n
return ax
如果,不需要立即求和,而是在后面根据需要在计算,那就可以不返回求和结果,而是这个函数:
def lazy_sum(*args):
def sum():
ax = 0
for n in args:
ax = ax + n
return ax
return sum
调用lazy_sum()
时,返回的并不是求和结果,而是求和函数:
>> > f = lazy_sum(1, 3, 5, 7, 9)
>> > f
< function lazy_sum.< locals >.sum at 0x101c6ed90 >
调用函数f时,才真正计算求和的结果:
>> > f()
25
每次的调用都会返回一个新的函数,即使是传入相同的参数。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
函数
+关注
关注
3文章
4329浏览量
62588 -
代码
+关注
关注
30文章
4786浏览量
68563 -
python
+关注
关注
56文章
4795浏览量
84663
发布评论请先 登录
相关推荐
C语言函数的返回值
当然,C语言程序员中还有一种“行业潜规则”。如果定义的函数是个布尔函数,也即返回值显式的使用类似于 bool 关键字定义,或者函数名类似于 is_true(),那么显然此时应该遵守C语
发表于 08-31 10:11
•1678次阅读
请问怎么定义一个返回值是指向函数的指针
定义一个返回值是指向函数的指针且有一个指向函数的指针作为参数的函数void*p()a((void*b()))我这么定义对吗?p为
发表于 03-06 04:35
关于返回值类型为void的函数的返回值
我对C语言比较熟悉而嵌入式了解不多。今天和一个嵌入式开发讨论C语言的时候遇到一个这样的问题。void f(){}对于一个返回值类型为void的函数我认为这个函数是没有返回值。而那个嵌入
发表于 05-18 09:34
利用函数参数和返回值提高嵌入式软件质量
利用函数参数和返回值提高嵌入式软件质量
引 言
提高软件代码的质量是每一个软件设计者都必须考虑的问题,这涉及软件的有效性和经济价值。基于嵌
发表于 11-07 09:48
•774次阅读
科普:Python函数默认返回 None 的原因
Python 有一项默认的做法,很多编程语言都没有——它的所有函数都会有一个返回值,不管你有没有写 return 语句。
C语言函数返回1和返回0到底哪个好?
可能会比较复杂,不同的输入,常常产生不同的输出结果。 1C语言函数的返回值 C语言函数可以通过返回值表示输出结果,例如 log() 函数的
ARM异常返回值的合法值有哪些?各返回值分别代表什么?
ARM异常返回值的合法值有哪些?各返回值分别代表什么? ARM异常返回值的合法值包括:中断(IRQ)、中止(ABORT)、未定义指令(UND
tuple函数怎么返回多个值
在编程领域中,函数是非常重要的构建模块,它能够接受输入参数并执行特定的计算,最终返回结果供程序使用。常规的函数只能返回一个值,但有时我们希望
python函数返回多个参数
。 在Python中,可以使用关键字 return 来返回一个或多个值。在函数定义的末尾,可以使用 return 语句来指定函数要
评论