函數(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文章
4417瀏覽量
67538 -
代碼
+關(guān)注
關(guān)注
30文章
4968瀏覽量
73999 -
python
+關(guān)注
關(guān)注
57文章
4877瀏覽量
90071
發(fā)布評論請先 登錄
相關(guān)推薦
熱點(diǎn)推薦
C語言函數(shù)的返回值
當(dāng)然,C語言程序員中還有一種“行業(yè)潛規(guī)則”。如果定義的函數(shù)是個布爾函數(shù),也即返回值顯式的使用類似于 bool 關(guān)鍵字定義,或者函數(shù)名類似于 is_true(),那么顯然此時應(yīng)該遵守C語
發(fā)表于 08-31 10:11
?3080次閱讀
C語言中函數(shù)的返回值指向一個指針
的值并將其存儲到一個結(jié)構(gòu)體類型的變量中。add() 函數(shù)接收兩個 Point 類型的參數(shù),并返回一個 Point 類型的值。在函數(shù)體內(nèi),將兩
main函數(shù)返回值的認(rèn)知
return返回的數(shù)值由程序的作者自定。返回不同的值可以代表不同的含義,一般是代表出錯的原因,傳統(tǒng)上返回0代表程序正常結(jié)束。main 函數(shù)的
發(fā)表于 10-24 11:08
關(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
?1055次閱讀
科普:Python函數(shù)默認(rèn)返回 None 的原因
Python 有一項(xiàng)默認(rèn)的做法,很多編程語言都沒有——它的所有函數(shù)都會有一個返回值,不管你有沒有寫 return 語句。
Python 函數(shù)默認(rèn)返回None的原因
Python 函數(shù)默認(rèn)返回None是什么原因?定義的函數(shù)沒有返回值,Python 解釋器就會強(qiáng)行
C語言函數(shù)返回1和返回0到底哪個好?
可能會比較復(fù)雜,不同的輸入,常常產(chǎn)生不同的輸出結(jié)果。 1C語言函數(shù)的返回值 C語言函數(shù)可以通過返回值表示輸出結(jié)果,例如 log() 函數(shù)的
C語言程序開發(fā)中關(guān)于函數(shù)返回值的問題
C語言函數(shù)可以通過返回值表示輸出結(jié)果,例如 log() 函數(shù)的返回值會根據(jù)不同的輸入,返回不同的值
發(fā)表于 09-06 10:01
?1319次閱讀
return-函數(shù)的返回值是什么
return關(guān)鍵字后接變量名或表達(dá)式可以將函數(shù)的計算結(jié)果返回到調(diào)用處。變量或表達(dá)式等同于接收果汁、豆?jié){的杯子。如果函數(shù)沒有返回值,return可以省略不寫。沒有
什么是函數(shù)的返回值?
函數(shù)的返回值是函數(shù)被調(diào)用后,執(zhí)行所調(diào)用函數(shù)內(nèi)代碼后所得出的結(jié)果,并且將返回給主函數(shù)的
ARM異常返回值的合法值有哪些?各返回值分別代表什么?
ARM異常返回值的合法值有哪些?各返回值分別代表什么? ARM異常返回值的合法值包括:中斷(IRQ)、中止(ABORT)、未定義指令(UND
tuple函數(shù)怎么返回多個值
在編程領(lǐng)域中,函數(shù)是非常重要的構(gòu)建模塊,它能夠接受輸入?yún)?shù)并執(zhí)行特定的計算,最終返回結(jié)果供程序使用。常規(guī)的函數(shù)只能返回一個值,但有時我們希望
python函數(shù)返回多個參數(shù)
。 在Python中,可以使用關(guān)鍵字 return 來返回一個或多個值。在函數(shù)定義的末尾,可以使用 return 語句來指定函數(shù)要
C語言如何處理函數(shù)的返回值
當(dāng)你在函數(shù)的最后寫上 return 0 的時候,它是如何返回給調(diào)用函數(shù)的? 比如 test 函數(shù),為了待會更好的看懂匯編代碼,我寫成了 return 1234。 處理
Python函數(shù)作為返回值
評論