> > f = lazy_sum( 1 , 3 , 5 , 7 , 9 ) >> > f locals >. sum at 0x101c6ed90 > 調(diào)" />
0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Python函數(shù)作為返回值

麥辣雞腿堡 ? 來源:Python都知道 ? 作者:了不起 ? 2023-09-27 17:01 ? 次閱讀

函數(shù)作為返回值

函數(shù)除了作為代碼塊,作為接收參數(shù),還可以把函數(shù)作為結(jié)果返回。 例子:

可變參數(shù)的求和:

通常

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

如果,不需要立即求和,而是在后面根據(jù)需要在計算,那就可以不返回求和結(jié)果,而是這個函數(shù):

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

調(diào)用lazy_sum()時,返回的并不是求和結(jié)果,而是求和函數(shù):

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

調(diào)用函數(shù)f時,才真正計算求和的結(jié)果:

>> > f()
25

每次的調(diào)用都會返回一個新的函數(shù),即使是傳入相同的參數(shù)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4331

    瀏覽量

    62622
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4788

    瀏覽量

    68616
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4797

    瀏覽量

    84690
收藏 人收藏

    評論

    相關(guān)推薦

    C語言函數(shù)返回值

    當(dāng)然,C語言程序員中還有一種“行業(yè)潛規(guī)則”。如果定義的函數(shù)是個布爾函數(shù),也即返回值顯式的使用類似于 bool 關(guān)鍵字定義,或者函數(shù)名類似于 is_true(),那么顯然此時應(yīng)該遵守C語
    發(fā)表于 08-31 10:11 ?1679次閱讀

    C語言中函數(shù)返回值指向一個指針

    并將其存儲到一個結(jié)構(gòu)體類型的變量中。add() 函數(shù)接收兩個 Point 類型的參數(shù),并返回一個 Point 類型的。在函數(shù)體內(nèi),將兩
    的頭像 發(fā)表于 04-26 11:01 ?3237次閱讀
    C語言中<b class='flag-5'>函數(shù)</b>的<b class='flag-5'>返回值</b>指向一個指針

    main函數(shù)返回值的認(rèn)知

    return返回的數(shù)值由程序的作者自定。返回不同的可以代表不同的含義,一般是代表出錯的原因,傳統(tǒng)上返回0代表程序正常結(jié)束。main 函數(shù)
    發(fā)表于 10-24 11:08

    請問怎么定義一個返回值是指向函數(shù)的指針

    定義一個返回值是指向函數(shù)的指針且有一個指向函數(shù)的指針作為參數(shù)的函數(shù)void*p()a((void*b()))我這么定義對嗎?p為
    發(fā)表于 03-06 04:35

    關(guān)于返回值類型為void的函數(shù)返回值

    我對C語言比較熟悉而嵌入式了解不多。今天和一個嵌入式開發(fā)討論C語言的時候遇到一個這樣的問題。void f(){}對于一個返回值類型為void的函數(shù)我認(rèn)為這個函數(shù)是沒有返回值。而那個嵌入
    發(fā)表于 05-18 09:34

    利用函數(shù)參數(shù)和返回值提高嵌入式軟件質(zhì)量

    利用函數(shù)參數(shù)和返回值提高嵌入式軟件質(zhì)量  引 言   提高軟件代碼的質(zhì)量是每一個軟件設(shè)計者都必須考慮的問題,這涉及軟件的有效性和經(jīng)濟(jì)價值?;谇?/div>
    發(fā)表于 11-07 09:48 ?777次閱讀
    利用<b class='flag-5'>函數(shù)</b>參數(shù)和<b class='flag-5'>返回值</b>提高嵌入式軟件質(zhì)量

    科普:Python函數(shù)默認(rèn)返回 None 的原因

    Python 有一項(xiàng)默認(rèn)的做法,很多編程語言都沒有——它的所有函數(shù)都會有一個返回值,不管你有沒有寫 return 語句。
    的頭像 發(fā)表于 08-17 11:39 ?2375次閱讀

    Python 函數(shù)默認(rèn)返回None的原因

    Python 函數(shù)默認(rèn)返回None是什么原因?定義的函數(shù)沒有返回值,Python 解釋器就會強(qiáng)行
    的頭像 發(fā)表于 08-21 10:51 ?2661次閱讀
    <b class='flag-5'>Python</b> <b class='flag-5'>函數(shù)</b>默認(rèn)<b class='flag-5'>返回</b>None的原因

    C語言函數(shù)返回1和返回0到底哪個好?

    可能會比較復(fù)雜,不同的輸入,常常產(chǎn)生不同的輸出結(jié)果。 1C語言函數(shù)返回值 C語言函數(shù)可以通過返回值表示輸出結(jié)果,例如 log() 函數(shù)
    的頭像 發(fā)表于 04-22 09:47 ?2706次閱讀

    C語言程序開發(fā)中關(guān)于函數(shù)返回值的問題

    C語言函數(shù)可以通過返回值表示輸出結(jié)果,例如 log() 函數(shù)返回值會根據(jù)不同的輸入,返回不同的
    發(fā)表于 09-06 10:01 ?952次閱讀

    return-函數(shù)返回值是什么

    return關(guān)鍵字后接變量名或表達(dá)式可以將函數(shù)的計算結(jié)果返回到調(diào)用處。變量或表達(dá)式等同于接收果汁、豆?jié){的杯子。如果函數(shù)沒有返回值,return可以省略不寫。沒有
    的頭像 發(fā)表于 02-23 10:52 ?1221次閱讀
    return-<b class='flag-5'>函數(shù)</b>的<b class='flag-5'>返回值</b>是什么

    什么是函數(shù)返回值?

    函數(shù)返回值函數(shù)被調(diào)用后,執(zhí)行所調(diào)用函數(shù)內(nèi)代碼后所得出的結(jié)果,并且將返回給主函數(shù)
    的頭像 發(fā)表于 04-04 17:21 ?4978次閱讀

    ARM異常返回值的合法有哪些?各返回值分別代表什么?

    ARM異常返回值的合法有哪些?各返回值分別代表什么? ARM異常返回值的合法包括:中斷(IRQ)、中止(ABORT)、未定義指令(UND
    的頭像 發(fā)表于 10-19 16:36 ?895次閱讀

    tuple函數(shù)怎么返回多個

    在編程領(lǐng)域中,函數(shù)是非常重要的構(gòu)建模塊,它能夠接受輸入?yún)?shù)并執(zhí)行特定的計算,最終返回結(jié)果供程序使用。常規(guī)的函數(shù)只能返回一個,但有時我們希望
    的頭像 發(fā)表于 11-21 16:33 ?733次閱讀

    python函數(shù)返回多個參數(shù)

    。 在Python中,可以使用關(guān)鍵字 return 來返回一個或多個。在函數(shù)定義的末尾,可以使用 return 語句來指定函數(shù)
    的頭像 發(fā)表于 11-21 16:37 ?1281次閱讀