91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python如何實現返回函數+匿名函數

發布時間:2021-12-28 16:07:00 來源:億速云 閱讀:148 作者:小新 欄目:互聯網科技

小編給大家分享一下Python如何實現返回函數+匿名函數,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

返回函數

粗粗看了一遍學習資料,感覺返回函數的意思好理解,但是實際應用起來就有點麻煩了。

先捋一捋思路叭。

首先,高階函數除了能接收函數作為參數外,也能將函數作為結果值返回。

函數作為返回值

求和做個簡單的例子:

一般的求和函數我們會這樣寫:

>>> def calc_sum(*args):

a = 0

for n in args:

        a = a + n

return a

>>> calc_sum(1,2,3,4)

10

直接求解,返回結果。

但是有時候我們不需要立刻求和,可能后面還需要計算,這個時候就要用到返回函數了。

(當我看到這里的時候,腦子里想的一直都是:為什么不要它立刻求和??)

返回函數到底又什么作用呢?

就好比做一件事,在做的過程中,返回函數的作用就是告訴你,我做到哪里/如何了,你能干嘛干嘛了。

暫時沒有更具體的例子,希望以后能遇到,加深一下理解!(太抽象了!!)

好,回過頭再來看看 求和用返回函數怎么寫。

(不返回求和結果,而是返回一個求和的函數)

>>> def lazy_sum(*args):

def sum():

a = 0

for n in args:

        a = a + n

        return a

return sum

>>> f = lazy_sum(1,3,5,7,9)

>>> f

<function lazy_sum..sum at 0x11104f620>

可以看到,當我們調用lazy_sum()時,返回的不是求和結果,而是求和函數。

如果要計算真正的求和結果,就要再調用f.【 f() 相當于sum() 】

>>> f()

25

內部函數sum可以引用外部函數lazy_sum的參數和局部變量。

lazy_sum返回函數sum時,相關參數和變量都保存在返回的函數中。(雖然這是一句很好理解的話,但是我莫名感覺它不簡單!

這種程序結構,叫做“閉包”(Closure)。(吼!

這里需要注意的是,每次調用lazy_sum,返回的都是一個新的函數!

就算傳入參數相同,返回的函數也不同!

>>> f1 = lazy_sum(1, 3, 5, 7, 9)

>>> f2 = lazy_sum(1, 3, 5, 7, 9)

>>> f1==f2

False

( f1() 和 f2()的調用結果互不影響

看完了這篇文章,相信你對“Python如何實現返回函數+匿名函數”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

秦皇岛市| 东平县| 五华县| 平昌县| 延川县| 怀集县| 亳州市| 察隅县| 偃师市| 滦平县| 恩施市| 银川市| 永丰县| 彭山县| 常熟市| 新乡县| 会同县| 华坪县| 乌鲁木齐县| 滨海县| 常德市| 宜良县| 扶绥县| 渭源县| 黔西县| 汝南县| 射阳县| 逊克县| 盱眙县| 平凉市| 安化县| 涞水县| 绥德县| 南昌市| 曲周县| 周至县| 凌源市| 岑溪市| 家居| 彝良县| 拜泉县|