0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Python函数作为返回值

麦辣鸡腿堡 来源:Python都知道 作者:了不起 2023-09-27 17:01 次阅读

函数作为返回值

函数除了作为代码块,作为接收参数,还可以把函数作为结果返回。 例子:

可变参数的求和:

通常

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 类型的结构体,然后将这
    的头像 发表于 04-26 11:01 2016次阅读
    C语言中<b class='flag-5'>函数</b>的<b class='flag-5'>返回值</b>指向一个指针

    main函数返回值的认知

    return返回的数值由程序的作者自定。返回不同的可以代表不同的含义,一般是代表出错的原因,传统上返回0代表程序正常结束。main 函数
    发表于 10-24 11:08

    请问怎么定义一个返回值是指向函数的指针

    定义一个返回值是指向函数的指针且有一个指向函数的指针作为参数的函数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次阅读
    利用<b class='flag-5'>函数</b>参数和<b class='flag-5'>返回值</b>提高嵌入式软件质量

    科普:Python函数默认返回 None 的原因

    Python 有一项默认的做法,很多编程语言都没有——它的所有函数都会有一个返回值,不管你有没有写 return 语句。
    的头像 发表于 08-17 11:39 2131次阅读

    Python 函数默认返回None的原因

    Python 函数默认返回None是什么原因?定义的函数没有返回值Python 解释器就会强行
    的头像 发表于 08-21 10:51 2363次阅读
    <b class='flag-5'>Python</b> <b class='flag-5'>函数</b>默认<b class='flag-5'>返回</b>None的原因

    C语言函数返回1和返回0到底哪个好?

    可能会比较复杂,不同的输入,常常产生不同的输出结果。 1C语言函数返回值 C语言函数可以通过返回值表示输出结果,例如 log() 函数
    的头像 发表于 04-22 09:47 2478次阅读

    C语言程序开发中关于函数返回值的问题

    C语言函数可以通过返回值表示输出结果,例如 log() 函数返回值会根据不同的输入,返回不同的值。再比如,我们定义一个
    发表于 09-06 10:01 763次阅读

    return-函数返回值是什么

    return关键字后接变量名或表达式可以将函数的计算结果返回到调用处。变量或表达式等同于接收果汁、豆浆的杯子。如果函数没有返回值,return可以省略不写。没有
    的头像 发表于 02-23 10:52 793次阅读
    return-<b class='flag-5'>函数</b>的<b class='flag-5'>返回值</b>是什么

    什么是函数返回值

    函数返回值函数被调用后,执行所调用函数内代码后所得出的结果,并且将返回给主函数的值。
    的头像 发表于 04-04 17:21 3543次阅读

    python函数返回多个参数

    函数是程序设计中的一个重要概念,在很多编程语言中都存在。函数可以接受输入数据,并且根据输入数据进行一系列操作,最后可以返回一个或多个结果。Python是一种非常流行的编程语言,也支持
    的头像 发表于 11-21 16:37 489次阅读