函數(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ù)。
-
函數(shù)
+關(guān)注
關(guān)注
3文章
4355瀏覽量
63316 -
代碼
+關(guān)注
關(guān)注
30文章
4858瀏覽量
69550 -
python
+關(guān)注
關(guān)注
56文章
4813瀏覽量
85314
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
C語(yǔ)言函數(shù)的返回值
C語(yǔ)言中函數(shù)的返回值指向一個(gè)指針

main函數(shù)返回值的認(rèn)知
請(qǐng)問(wèn)怎么定義一個(gè)返回值是指向函數(shù)的指針
關(guān)于返回值類(lèi)型為void的函數(shù)的返回值
利用函數(shù)參數(shù)和返回值提高嵌入式軟件質(zhì)量

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

C語(yǔ)言程序開(kāi)發(fā)中關(guān)于函數(shù)返回值的問(wèn)題
return-函數(shù)的返回值是什么

評(píng)論