函數作為返回值
函數除了作為代碼塊,作為接收參數,還可以把函數作為結果返回。 例子:
可變參數的求和:
通常
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文章
4332瀏覽量
62666 -
代碼
+關注
關注
30文章
4790瀏覽量
68654 -
python
+關注
關注
56文章
4797瀏覽量
84727
發布評論請先 登錄
相關推薦
C語言函數的返回值
當然,C語言程序員中還有一種“行業潛規則”。如果定義的函數是個布爾函數,也即返回值顯式的使用類似于 bool 關鍵字定義,或者函數名類似于 is_true(),那么顯然此時應該遵守C語
發表于 08-31 10:11
?1685次閱讀
請問怎么定義一個返回值是指向函數的指針
定義一個返回值是指向函數的指針且有一個指向函數的指針作為參數的函數void*p()a((void*b()))我這么定義對嗎?p為
發表于 03-06 04:35
關于返回值類型為void的函數的返回值
我對C語言比較熟悉而嵌入式了解不多。今天和一個嵌入式開發討論C語言的時候遇到一個這樣的問題。void f(){}對于一個返回值類型為void的函數我認為這個函數是沒有返回值。而那個嵌入
發表于 05-18 09:34
利用函數參數和返回值提高嵌入式軟件質量
利用函數參數和返回值提高嵌入式軟件質量
引 言
提高軟件代碼的質量是每一個軟件設計者都必須考慮的問題,這涉及軟件的有效性和經濟價值。基于嵌
發表于 11-07 09:48
?779次閱讀
科普:Python函數默認返回 None 的原因
Python 有一項默認的做法,很多編程語言都沒有——它的所有函數都會有一個返回值,不管你有沒有寫 return 語句。
C語言函數返回1和返回0到底哪個好?
可能會比較復雜,不同的輸入,常常產生不同的輸出結果。 1C語言函數的返回值 C語言函數可以通過返回值表示輸出結果,例如 log() 函數的
ARM異常返回值的合法值有哪些?各返回值分別代表什么?
ARM異常返回值的合法值有哪些?各返回值分別代表什么? ARM異常返回值的合法值包括:中斷(IRQ)、中止(ABORT)、未定義指令(UND
tuple函數怎么返回多個值
在編程領域中,函數是非常重要的構建模塊,它能夠接受輸入參數并執行特定的計算,最終返回結果供程序使用。常規的函數只能返回一個值,但有時我們希望
python函數返回多個參數
。 在Python中,可以使用關鍵字 return 來返回一個或多個值。在函數定義的末尾,可以使用 return 語句來指定函數要
評論