函數(shù)作為返回值
函數(shù)除了作為代碼塊,作為接收參數(shù),還可以把函數(shù)作為結(jié)果返回。 例子:
可變參數(shù)的求和:
通常
def calc_sum(*args):
ax = 0
for n in args:
ax = ax + n
return ax
如果,不需要立即求和,而是在后面根據(jù)需要在計(jì)算,那就可以不返回求和結(jié)果,而是這個(gè)函數(shù):
def lazy_sum(*args):
def sum():
ax = 0
for n in args:
ax = ax + n
return ax
return sum
調(diào)用lazy_sum()
時(shí),返回的并不是求和結(jié)果,而是求和函數(shù):
>> > f = lazy_sum(1, 3, 5, 7, 9)
>> > f
< function lazy_sum.< locals >.sum at 0x101c6ed90 >
調(diào)用函數(shù)f時(shí),才真正計(jì)算求和的結(jié)果:
>> > f()
25
每次的調(diào)用都會(huì)返回一個(gè)新的函數(shù),即使是傳入相同的參數(shù)。
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
相關(guān)推薦
當(dāng)然,C語(yǔ)言程序員中還有一種“行業(yè)潛規(guī)則”。如果定義的函數(shù)是個(gè)布爾函數(shù),也即返回值顯式的使用類(lèi)似于 bool 關(guān)鍵字定義,或者函數(shù)名類(lèi)似于 is_true(),那么顯然此時(shí)應(yīng)該遵守C語(yǔ)
發(fā)表于 08-31 10:11
?1594次閱讀
的值并將其存儲(chǔ)到一個(gè)結(jié)構(gòu)體類(lèi)型的變量中。add() 函數(shù)接收兩個(gè) Point 類(lèi)型的參數(shù),并返回一個(gè) Point 類(lèi)型的值。在函數(shù)體內(nèi),將兩
發(fā)表于 04-26 11:01
?2710次閱讀
return返回的數(shù)值由程序的作者自定。返回不同的值可以代表不同的含義,一般是代表出錯(cuò)的原因,傳統(tǒng)上返回0代表程序正常結(jié)束。main 函數(shù)的
發(fā)表于 10-24 11:08
定義一個(gè)返回值是指向函數(shù)的指針且有一個(gè)指向函數(shù)的指針作為參數(shù)的函數(shù)void*p()a((void*b()))我這么定義對(duì)嗎?p為
發(fā)表于 03-06 04:35
我對(duì)C語(yǔ)言比較熟悉而嵌入式了解不多。今天和一個(gè)嵌入式開(kāi)發(fā)討論C語(yǔ)言的時(shí)候遇到一個(gè)這樣的問(wèn)題。void f(){}對(duì)于一個(gè)返回值類(lèi)型為void的函數(shù)我認(rèn)為這個(gè)函數(shù)是沒(méi)有返回值。而那個(gè)嵌入
發(fā)表于 05-18 09:34
利用函數(shù)參數(shù)和返回值提高嵌入式軟件質(zhì)量
引 言
提高軟件代碼的質(zhì)量是每一個(gè)軟件設(shè)計(jì)者都必須考慮的問(wèn)題,這涉及軟件的有效性和經(jīng)濟(jì)價(jià)值。基于嵌
發(fā)表于 11-07 09:48
?738次閱讀
Python 有一項(xiàng)默認(rèn)的做法,很多編程語(yǔ)言都沒(méi)有——它的所有函數(shù)都會(huì)有一個(gè)返回值,不管你有沒(méi)有寫(xiě) return 語(yǔ)句。
發(fā)表于 08-17 11:39
?2264次閱讀
Python 函數(shù)默認(rèn)返回None是什么原因?定義的函數(shù)沒(méi)有返回值,Python 解釋器就會(huì)強(qiáng)行
發(fā)表于 08-21 10:51
?2532次閱讀
可能會(huì)比較復(fù)雜,不同的輸入,常常產(chǎn)生不同的輸出結(jié)果。 1C語(yǔ)言函數(shù)的返回值 C語(yǔ)言函數(shù)可以通過(guò)返回值表示輸出結(jié)果,例如 log() 函數(shù)的
發(fā)表于 04-22 09:47
?2616次閱讀
C語(yǔ)言函數(shù)可以通過(guò)返回值表示輸出結(jié)果,例如 log() 函數(shù)的返回值會(huì)根據(jù)不同的輸入,返回不同的值
發(fā)表于 09-06 10:01
?889次閱讀
return關(guān)鍵字后接變量名或表達(dá)式可以將函數(shù)的計(jì)算結(jié)果返回到調(diào)用處。變量或表達(dá)式等同于接收果汁、豆?jié){的杯子。如果函數(shù)沒(méi)有返回值,return可以省略不寫(xiě)。沒(méi)有
發(fā)表于 02-23 10:52
?1050次閱讀
函數(shù)的返回值是函數(shù)被調(diào)用后,執(zhí)行所調(diào)用函數(shù)內(nèi)代碼后所得出的結(jié)果,并且將返回給主函數(shù)的
發(fā)表于 04-04 17:21
?4407次閱讀
ARM異常返回值的合法值有哪些?各返回值分別代表什么? ARM異常返回值的合法值包括:中斷(IRQ)、中止(ABORT)、未定義指令(UND
發(fā)表于 10-19 16:36
?670次閱讀
在編程領(lǐng)域中,函數(shù)是非常重要的構(gòu)建模塊,它能夠接受輸入?yún)?shù)并執(zhí)行特定的計(jì)算,最終返回結(jié)果供程序使用。常規(guī)的函數(shù)只能返回一個(gè)值,但有時(shí)我們希望
發(fā)表于 11-21 16:33
?550次閱讀
。 在Python中,可以使用關(guān)鍵字 return 來(lái)返回一個(gè)或多個(gè)值。在函數(shù)定義的末尾,可以使用 return 語(yǔ)句來(lái)指定函數(shù)要
發(fā)表于 11-21 16:37
?933次閱讀
評(píng)論