日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
都應(yīng)該了解的Python函數(shù)式編程

函數(shù)式編程(Functional Programming)或者函數(shù)程序設(shè)計,是一種編程范型。

成都網(wǎng)站制作、成都做網(wǎng)站、外貿(mào)營銷網(wǎng)站建設(shè)的開發(fā),更需要了解用戶,從用戶角度來建設(shè)網(wǎng)站,獲得較好的用戶體驗。創(chuàng)新互聯(lián)多年互聯(lián)網(wǎng)經(jīng)驗,見的多,溝通容易、能幫助客戶提出的運營建議。作為成都一家網(wǎng)絡(luò)公司,打造的就是網(wǎng)站建設(shè)產(chǎn)品直銷的概念。選擇創(chuàng)新互聯(lián),不只是建站,我們把建站作為產(chǎn)品,不斷的更新、完善,讓每位來訪用戶感受到浩方產(chǎn)品的價值服務(wù)。

它將計算機運算視為數(shù)學上的函數(shù)運算,并且避免使用程序狀態(tài)以及變量對象。

以上只是簡單的函數(shù)式編程的概念,我們只需簡單了解即可。

在 Python 中,函數(shù)式編程主要由幾個函數(shù)的使用構(gòu)成:lambda()?, map()?, reduce()?, filter()等。

1.lambda 函數(shù)

lambda 函數(shù),又成為匿名函數(shù)。lambda 函數(shù)只能有一個表達式,而不需要寫 return 來返回函數(shù)的值。當然,匿名函數(shù)也是一個函數(shù)對象,同樣可以把匿名函數(shù)賦值給一個變量。

也可以把匿名函數(shù)作為返回值來返回

可以看出,變量 f 就是一個 lambda 函數(shù)類型,需要使用?f()來調(diào)用該函數(shù)。

2.map函數(shù)

map 函數(shù)接收兩個參數(shù),一個是函數(shù),一個是 Interable (可迭代序列),map 函數(shù)依次將函數(shù)作用到序列的每個元素,并把結(jié)果作為新的 Interable 返回。

看一個例子:

一個簡單的列表解析,把列表 a 的每個元素都加2,用 map 函數(shù)可以寫為:

由于 map 函數(shù)返回的是一個惰性序列,需要通過?list()等函數(shù)來調(diào)用它。

雖然上面的代碼看起來比直接寫 for 循環(huán)要復(fù)雜,但是當數(shù)據(jù)量很大的情況下,Python 的 for 效率就不是很高了,而 map 的效率是可以接近 C 語言的。同時代碼也簡潔很多,簡直裝X神器。

另一個小例子,把列表中的元素轉(zhuǎn)換為字符串,一條命令

3.reduce函數(shù)

它和 map 有些像,不過 map 是用于逐一遍歷,而 reduce 函數(shù)是用來遞歸計算的。

一個簡單的序列求和

對列表 a 的各個元素依次求和,再看一個自制的int()函數(shù)的例子

這是 Python 內(nèi)置函數(shù) int 的用法

我們通過 reduce 和 map 函數(shù)也可以實現(xiàn)如下

先用 map 函數(shù)來遍歷 23465 這個字符串列表,然后通過 reduce 函數(shù)遞歸應(yīng)用列表每個元素到 lambda 函數(shù)。

4. filter函數(shù)

它同樣接收一個函數(shù)和一個序列,filter()把傳入的函數(shù)依次作用于每個元素,然后根據(jù)返回值是 True 還是 False 決定保留還是丟棄該元素。

總結(jié)

使用這些函數(shù),不僅可以讓我們的代碼更加簡潔,同時在大數(shù)據(jù)量或者計算密集時,能夠大大提高效率。


網(wǎng)頁題目:都應(yīng)該了解的Python函數(shù)式編程
文章轉(zhuǎn)載:http://m.5511xx.com/article/cocsspg.html