日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

python函数式编程思想_以python为例,浅谈函数式编程思想

發(fā)布時(shí)間:2025/4/5 python 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python函数式编程思想_以python为例,浅谈函数式编程思想 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

數(shù)據(jù)集data_socrestudentid course score

1 math 89

2 english 76

. . .

問題:求各studentid總分

方法1-一般寫法:

student_score_total={}

for i in xrange(data_socre.shape[0]):

studentid=data_socre.ix[i,'studentid']

score=data_socre.ix[i,'score']

if studentid in student_score_total.keys():

student_score_total[studentid]+=score

else:

student_score_total[studentid]=score

方法2-函數(shù)式編程:

student_score_total=data_socre.ix[:,['studentid','score']].groupby('studentid').agg(sum)

函數(shù)式編程要明顯優(yōu)于一般寫法(代碼量、可讀性)

那什么是函數(shù)式編程:

函數(shù)式編程定義

定義(百度百科):函數(shù)式編程是種編程方式,它將電腦運(yùn)算視為函數(shù)的計(jì)算。函數(shù)編程語(yǔ)言最重要的基礎(chǔ)是λ演算(lambda calculus),而且λ演算的函數(shù)可以接受函數(shù)當(dāng)作輸入(參數(shù))和輸出(返回值)。簡(jiǎn)單說(shuō),"函數(shù)式編程"是一種"編程范式"(programming paradigm),也就是如何編寫程序的方法論。它屬于"結(jié)構(gòu)化編程"的一種,主要思想是把運(yùn)算過(guò)程盡量寫成一系列嵌套的函數(shù)調(diào)用。

特性

一、高階函數(shù)

和一般函數(shù)差別:

1、輸入?yún)?shù)可以是函數(shù)

2、輸出結(jié)果可以是函數(shù)

例(python2.7,下同):

輸出結(jié)果可以是函數(shù)

def add(x,y):

def add_1():

return x+y

return add_1

add_1=add(1,2)

print add_1

輸入?yún)?shù)可以是函數(shù)

def add(x,y):

return x+y

def add_square(add):

return add*add

計(jì)算

print add_square(add(1,2))

9

二、閉包

定義(百度百科):閉包就是能夠讀取其他函數(shù)內(nèi)部變量的函數(shù)。在本質(zhì)上,閉包是將函數(shù)內(nèi)部和函數(shù)外部連接起來(lái)的橋梁。

構(gòu)成(必要):

1、外部函數(shù)

2、內(nèi)部函數(shù)

3、外部函數(shù)變量

例:

def add(x,y):

def add_1():

return x+y

return add_1

外部函數(shù)(add):必須將內(nèi)部函數(shù)作為返回

內(nèi)部函數(shù)(add_1):必須要有一個(gè)內(nèi)部函數(shù)

外部函數(shù)變量(x,y):內(nèi)部函數(shù)必須引用外部函數(shù)變量

ps.可以發(fā)現(xiàn)閉包和高階函數(shù)是結(jié)合在一起使用

三、偏函數(shù)

定義:通過(guò)固定函數(shù)的部分參數(shù)值從而達(dá)到新建函數(shù)的作用

例:

def add(x,y):

return x+y

import functools

add_1 = functools.partial(add,x = 10)

print add_1(y=1) #等價(jià)于 add(x=10,y=1)

11

四、柯里化

定義:把有多個(gè)參數(shù)的函數(shù)變成單參數(shù)函數(shù) 公式:z = f(x, y) 變成 z = f(x)(y)

例:

def add(x, y):

return x+y

print add(1, 2)

3

def add(x):

def add_1(y):

return x + y

return add_1

print add(1)(2)

3

柯里化的偏函數(shù)應(yīng)用

add_1 = add(x=1)

print add_1(y=2)

3

ps.python中只能對(duì)第一個(gè)參數(shù)做偏函數(shù)化(或者說(shuō)只能是從外到內(nèi)逐次參數(shù)做偏函數(shù)化)

五、惰性計(jì)算

理解:表達(dá)式不在它被綁定到變量之后就立即求值,而是在該值被取用的時(shí)候求值;邏輯處理與具體運(yùn)算時(shí)間分離,只有當(dāng)提交具體執(zhí)行計(jì)算任務(wù)時(shí),邏輯處理才開始運(yùn)算

六、只用"表達(dá)式"

理解(百度百科):"表達(dá)式"(expression)是一個(gè)單純的運(yùn)算過(guò)程,總是有返回值。也就是說(shuō),每一步都是單純的運(yùn)算,而且都有返回值。

七、沒有"副作用"

理解:不產(chǎn)生除函數(shù)返回結(jié)果以外的任何影響(不修改任何外部變量)

八、引用透明性

理解:輸入相同的參數(shù)返回相同的結(jié)果;計(jì)算結(jié)果不依賴除輸入?yún)?shù)外的其他因素的影響

總結(jié):

函數(shù)式編程優(yōu)點(diǎn)

1、將問題處理拆解為各執(zhí)行步驟:處理邏輯清晰、代碼可讀性高、后期易維護(hù)更新

2、通過(guò)使用已有的函數(shù),大幅減少代碼量,提高編程效率

3、將邏輯處理和具體計(jì)算分離,通過(guò)組件化編程,降低使用者技術(shù)門檻(復(fù)雜邏輯處理由技術(shù)較好的人員事先實(shí)現(xiàn)準(zhǔn)備好)

總結(jié)

以上是生活随笔為你收集整理的python函数式编程思想_以python为例,浅谈函数式编程思想的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久久色在线观看 | 男人的天堂亚洲 | 欧美拍拍视频 | 欧美黑人精品一区二区不卡 | 国精产品一区一区三区有限公司杨 | 国产亚洲一区二区三区 | 黄色片a级片 | 打开免费观看视频在线 | 99re色 | 天天色影综合网 | 国产亚洲av片在线观看18女人 | 91av麻豆| av自拍一区 | 成年丰满熟妇午夜免费视频 | 最近中文字幕免费视频 | 国产一级二级毛片 | 日日夜夜精品免费视频 | 午夜黄色在线观看 | 黄色尤物视频 | 国产精品日本 | 久久夜色精品国产欧美乱 | 国产一区二区三区视频 | 国产免费a| 欧美资源在线观看 | 国产女人18水真多毛片18精品 | 在线资源站 | 三级免费网址 | 在线观看一区二区视频 | 欧美午夜在线视频 | 免费中文字幕av | 国产久一 | 爆操白虎 | 国产乱淫精品一区二区三区毛片 | 欧美成人一二三 | 美女xx网站 | 国产无遮挡裸体免费视频 | 免费午夜视频 | 亚洲精品乱 | 精品国产乱码久久久久久蜜柚 | 国精产品一区二区 | 亚洲欧美日韩精品永久在线 | 97在线观看视频 | 91刺激 | 欧美大片免费观看 | 美女打屁股网站 | 叶山小百合av一区二区 | 国产精品-色哟哟 | 国产精品久久久久久久久久久久久久久久久 | 精品自拍偷拍 | 亚洲毛片精品 | 日韩欧美亚洲视频 | 中日韩免费毛片 | 日韩性高潮 | 国产免费午夜 | 超碰夜夜 | 亚洲综合自拍偷拍 | 精品孕妇一区二区三区 | 污视频免费在线 | 四虎永久在线精品 | 99国产精品一区二区 | 男生吃小头头的视频 | 久久久欧美精品sm网站 | 成人黄页 | 性欧美18一19内谢 | 人妻与黑人一区二区三区 | 成人在线a | 91精品福利 | 日韩精品一卡二卡 | 一级特黄aaa大片 | 射黄视频 | 国产精品第56页 | 欧美人妻精品一区二区 | 亚洲中文在线一区 | 四虎免费影视 | 91麻豆影院 | 午夜在线免费观看视频 | 奇米第四色在线 | 中文区中文字幕免费看 | 国产精品国产三级国产a | 影音先锋中文字幕在线播放 | 麻豆久久久9性大片 | av大片在线看 | 99热综合| 九九超碰| 国产操视频| 开心激情综合网 | 久久久无码精品亚洲国产 | 致命魔术电影高清在线观看 | 亚洲精品v天堂中文字幕 | 自拍偷拍福利 | 色婷婷国产精品久久包臀 | 天堂在线网 | 亚洲精品国产美女 | 男人的天堂亚洲 | 一区二区久久精品66国产精品 | 在线看黄网址 | 开心激情站 | 日韩av地址 | 4438x全国最大成人 |