函数作为返回值
函数除了作为代码块,作为接收参数,还可以把函数作为结果返回。 例子:
可变参数的求和:
通常
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文章
3868浏览量
61309 -
代码
+关注
关注
30文章
4555浏览量
66769 -
python
+关注
关注
51文章
4675浏览量
83466
发布评论请先 登录
相关推荐
C语言函数的返回值
当然,C语言程序员中还有一种“行业潜规则”。如果定义的函数是个布尔函数,也即返回值显式的使用类似于 bool 关键字定义,或者函数名类似于 is_true(),那么显然此时应该遵守C语
发表于 08-31 10:11
•1437次阅读
C语言中函数的返回值指向一个指针
的值并将其存储到一个结构体类型的变量中。add() 函数接收两个 Point 类型的参数,并返回一个 Point 类型的值。在函数体内,将两个参数的 x 坐标和 y 坐标分别相加,得到一个新的 Point 类型的结构体,然后将这
请问怎么定义一个返回值是指向函数的指针
定义一个返回值是指向函数的指针且有一个指向函数的指针作为参数的函数void*p()a((void*b()))我这么定义对吗?p为
发表于 03-06 04:35
temp不能得到函数的返回值
main(){u16 temp;.....temp= function(x,y);temp=temp&0xff;......}在此程序中,temp无法得到函数的返回值,但是,如果将程序改成
发表于 03-09 01:27
总是提示函数缺少返回值声明
; } return 2}return 3}提问:为什么while循环中明明有返回值,可以跳出while循环,而扔提示函数最后缺少返回值请各位高手指教
发表于 10-24 17:27
关于返回值类型为void的函数的返回值
我对C语言比较熟悉而嵌入式了解不多。今天和一个嵌入式开发讨论C语言的时候遇到一个这样的问题。void f(){}对于一个返回值类型为void的函数我认为这个函数是没有返回值。而那个嵌入
发表于 05-18 09:34
利用函数参数和返回值提高嵌入式软件质量
利用函数参数和返回值提高嵌入式软件质量
引 言
提高软件代码的质量是每一个软件设计者都必须考虑的问题,这涉及软件的有效性和经济价值。基于嵌
发表于 11-07 09:48
•703次阅读
科普:Python函数默认返回 None 的原因
Python 有一项默认的做法,很多编程语言都没有——它的所有函数都会有一个返回值,不管你有没有写 return 语句。
C语言函数返回1和返回0到底哪个好?
可能会比较复杂,不同的输入,常常产生不同的输出结果。 1C语言函数的返回值 C语言函数可以通过返回值表示输出结果,例如 log() 函数的
C语言程序开发中关于函数返回值的问题
C语言函数可以通过返回值表示输出结果,例如 log() 函数的返回值会根据不同的输入,返回不同的值。再比如,我们定义一个
发表于 09-06 10:01
•763次阅读
python函数返回多个参数
函数是程序设计中的一个重要概念,在很多编程语言中都存在。函数可以接受输入数据,并且根据输入数据进行一系列操作,最后可以返回一个或多个结果。Python是一种非常流行的编程语言,也支持
评论