日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

解析Python 偏函數(shù)用法全方位實(shí)現(xiàn)

瀏覽:179日期:2022-07-19 15:10:04

Python的functools模塊中有一種函數(shù)叫“偏函數(shù)”,自從接觸它以來(lái),發(fā)現(xiàn)確實(shí)是一個(gè)很有用且簡(jiǎn)單的函數(shù),相信你看完這篇文章,你也有相見(jiàn)恨晚的感覺(jué)。

我們都知道,函數(shù)入?yún)⒖梢栽O(shè)置默認(rèn)值來(lái)簡(jiǎn)化函數(shù)調(diào)用,而偏函數(shù)的作用就是將入?yún)⑦M(jìn)行默認(rèn)填充,降低函數(shù)使用的難度。

如int()函數(shù),可以將字符型轉(zhuǎn)換為整型,且默認(rèn)的都是以十進(jìn)制形式來(lái)轉(zhuǎn)換,那為什么一定是十進(jìn)制呢?如果想用以二進(jìn)制的形式轉(zhuǎn)換呢?其實(shí)我們可以看一下int函數(shù)它本身的定義偏函數(shù),一個(gè)讓你相見(jiàn)恨晚的實(shí)用函數(shù)

解析Python 偏函數(shù)用法全方位實(shí)現(xiàn)

可以看到int有兩種用法,可以傳一個(gè)位置參數(shù),還可以多傳一個(gè)關(guān)鍵字參數(shù)base,也就是基于什么格式轉(zhuǎn)換,默認(rèn)不傳base參數(shù)是以十進(jìn)制轉(zhuǎn)換。所以,用二進(jìn)制形式轉(zhuǎn)換的話只要base=2即可(見(jiàn)下方代碼)

value = int(’10000’)print(value) # 10000 value = int(’10000’, base=2)print(value) # 16

如果每次轉(zhuǎn)換的字符串的時(shí)候都要輸入base參數(shù),顯得很麻煩,因此偏函數(shù)的作用就體現(xiàn)出來(lái)了,可以使用functools.partial()函數(shù)來(lái)重新定義

from functools import partialint2 = partial(int, base=2)res = int2(’10000’)print(res) # 16

到這里,你應(yīng)該已經(jīng)感覺(jué)到了偏函數(shù)的一點(diǎn)點(diǎn)魅力吧,那我們?cè)購(gòu)亩鄠€(gè)角度進(jìn)一步看透它。

自定義函數(shù)的使用

def add(a, b, c): print(’a=’,a,’b=’,b,’c=’,c) return a + b + cadd10 = partial(add, 10)res = add10(1, 2) # a= 10 b= 1 c= 2

如上代碼中,partial(add, 10)入?yún)⒉](méi)有指定哪個(gè)關(guān)鍵字參數(shù),函數(shù)卻默認(rèn)的將這個(gè)值傳給了第一個(gè)參數(shù)a,那就說(shuō)明,當(dāng)沒(méi)有指定默認(rèn)參數(shù)時(shí),默認(rèn)賦值給第一個(gè)參數(shù),余下參數(shù)按位置參數(shù)賦值。

當(dāng)入?yún)榭勺儏?shù)時(shí)

def sum(*args): s = 0 for n in args: s += n return ssum10 = partial(sum, 10)print(sum10(1)) # 11print(sum10()) # 10

按上述理解,沒(méi)有指定默認(rèn)參數(shù)時(shí),默認(rèn)賦給第一個(gè)參數(shù),那么第一個(gè)參數(shù)永遠(yuǎn)是10,后面再傳入?yún)⒌脑捑蛷牡诙€(gè)參數(shù)開(kāi)始計(jì)算,因此會(huì)實(shí)現(xiàn)10 + 1 = 11 的結(jié)果。同樣,如果不繼續(xù)傳參的話,只有默認(rèn)的10,所以結(jié)果就是10

當(dāng)入?yún)榭勺冴P(guān)鍵字參數(shù)時(shí)

D = {’value1’:10, ’value2’:20}V = {’Default’:100}def show(**kw): for k in kw: print(k, kw.get(k))showDef = partial(show, **V)showDef(**D)# Default 100# value1 10# value2 20

同理,此時(shí)入?yún)⒂捎谑强勺儏?shù),因此默認(rèn)是第一個(gè)傳入,先打印Default關(guān)鍵字,這里關(guān)注一下函數(shù)的寫法,可變關(guān)鍵字參數(shù)要寫成(**V)

當(dāng)入?yún)橄拗频年P(guān)鍵字參數(shù)時(shí)

def student(name, * , age, city): print(’name:’,name, ’age:’,age, ’city:’,city)studentAge = partial(student, age=20)studentAge(’Tom’,’Beijing’)# TypeError: student() takes 1 positional argument but 2 positional arguments (and 1 keyword-only argument) were given

我們知道,當(dāng)用*號(hào)分隔開(kāi),表示后面的關(guān)鍵字參數(shù)是必傳的,因此對(duì)于默認(rèn)參數(shù)也是同樣適用,即當(dāng)參數(shù)為必傳時(shí),偏函數(shù)也需要對(duì)每個(gè)關(guān)鍵字參數(shù)設(shè)置默認(rèn)值。因此修改后為

studentAge = partial(student, age=20, city=’Beijing’)studentAge(’Tom’) # name: Tom age: 20 city: Beijing

綜上,偏函數(shù)可以將目標(biāo)函數(shù)的部分參數(shù)固化后,重新定義為新的函數(shù),降低了編碼的復(fù)雜度,尤其是當(dāng)參數(shù)很多的時(shí)候,或者只用到其中某些參數(shù)的場(chǎng)景下時(shí),效果更為顯著。

到這里,你是否有了相見(jiàn)恨晚的感覺(jué)呢?簡(jiǎn)單函數(shù)小技巧,非常實(shí)用的偏函數(shù)用法就介紹完了,更多相關(guān)Python 偏函數(shù)內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Python 編程
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
精品午夜av| 午夜国产欧美理论在线播放| 亚洲综合精品四区| 在线综合视频| 中文字幕一区二区av| 7777精品| 国产欧美一区二区三区精品酒店 | 精品一区二区三区中文字幕| 久久精品免费看| 高清av一区二区三区| 日韩一级网站| 欧美午夜三级| 欧美黄色网页| 国产亚洲在线| 日韩视频一二区| 久久免费影院| 韩日一区二区三区| 日韩精品中文字幕吗一区二区 | 9色国产精品| 日韩高清三区| 国产精品国产一区| 日韩视频精品在线观看| 日本强好片久久久久久aaa| 久久久久久婷| 国产视频一区三区| 麻豆精品新av中文字幕| 婷婷综合六月| 日韩高清在线不卡| 中文在线а√在线8| 亚洲在线国产日韩欧美| 国产欧美日韩精品高清二区综合区 | 亚洲综合中文| 乱一区二区av| 在线亚洲观看| 精品一二三区| 亚洲精品国模| 久久久夜精品| 日韩不卡一区二区三区| 日本欧美不卡| 国产欧美91| 好吊日精品视频| 久久永久免费| 日韩av在线播放网址| 午夜国产一区二区| 91成人精品在线| 久久影院一区| 国产毛片精品久久| av不卡免费看| 成人av三级| 国产精品天天看天天狠| 人人香蕉久久| 无码日韩精品一区二区免费| 国产精品夜夜夜| 99re国产精品| 国产高清一区| 日本激情一区| 欧美日韩亚洲一区二区三区在线| 亚洲小说欧美另类婷婷| 久久不见久久见国语| 蜜桃av一区二区三区电影| 亚洲精品福利电影| 国产精品最新| 亚洲精品女人| 免费日韩av片| 女主播福利一区| 成人av二区| 91精品国产乱码久久久久久久| 深夜日韩欧美| 欧美不卡高清| 成人在线视频中文字幕| 91麻豆精品| 亚洲人成在线影院| 在线综合亚洲| 欧美日韩四区| 欧美日韩国产亚洲一区| 91精品推荐| 日韩国产综合| 红杏一区二区三区| 欧美成人aaa| 国产精品一级在线观看| 日韩av影院| 日本不卡一二三区黄网| 鲁大师成人一区二区三区| 91精品啪在线观看国产18 | 老牛影视精品| 福利一区二区免费视频 | 日韩国产一二三区| 日韩和欧美一区二区三区| 亚洲欧美专区| 日本成人在线不卡视频| 综合一区av| 免费久久99精品国产| 日韩中文字幕av电影| 久久要要av| 欧美精选一区二区三区| 亚洲午夜黄色| 亚洲免费网址| 中文字幕日韩欧美精品高清在线| 日韩亚洲在线| 石原莉奈在线亚洲三区| 日本不卡不码高清免费观看 | 久久精品国产www456c0m| 亚洲成人不卡| 亚洲激情中文在线| 国产婷婷精品| 日韩和欧美一区二区| 国产精品天堂蜜av在线播放| 欧美激情91| 中文字幕人成乱码在线观看 | 日韩精品91亚洲二区在线观看| 91精品国产一区二区在线观看 | 国产精品免费大片| 久久影视三级福利片| 精品一区二区三区中文字幕在线| 狠狠躁少妇一区二区三区| 久久久久久久久久久9不雅视频| 黄色精品网站| 色8久久久久| 精品中文字幕一区二区三区 | 免费一级片91| 国产探花一区| 欧美男人天堂| 欧美在线综合| 国产激情久久| 国产在线观看www| 亚洲少妇自拍| 国产欧美日韩一区二区三区四区| 丁香婷婷久久| 午夜久久99| 91成人福利| 精品丝袜在线| 日韩视频一二区| а√天堂8资源在线| 午夜在线视频观看日韩17c| 国产日韩三级| 亚洲性图久久| 欧美日韩99| 成人精品亚洲| 日韩亚洲精品在线观看| 美女精品视频在线| 欧美日韩四区| 久久精品国产成人一区二区三区| 亚洲精品va| 国产精品丝袜在线播放| 欧美特黄一级大片| 久久国内精品| 婷婷亚洲综合| 九九久久国产| 亚洲不卡视频| 99成人超碰| 国产精品免费精品自在线观看| 欧美精选一区二区三区| 久久影视三级福利片| 性色一区二区| 精品国产日韩欧美精品国产欧美日韩一区二区三区 | 日韩高清不卡在线| 亚洲www啪成人一区二区| 亚洲另类av| 久久精品卡一| 欧美精品97| 亚洲18在线| 国内激情久久| 久久影院一区二区三区| 亚洲精品精选| 91国语精品自产拍| 国产精品magnet| 日韩中文字幕麻豆| 1024精品一区二区三区| 精品一区二区三区中文字幕视频| 蜜臀久久久99精品久久久久久| 亚洲一级少妇| 久久三级毛片| 日韩av电影一区| 丝袜亚洲精品中文字幕一区| 日韩电影免费网址| 免费亚洲一区| 91精品啪在线观看国产爱臀| 国产视频一区在线观看一区免费| 日韩电影二区| 激情综合五月| 日韩av一二三| 亚洲精品国模| 男女性色大片免费观看一区二区| 久久国产毛片| 欧美日韩尤物久久| 高清一区二区三区av| 国产精品115| 国产精品毛片视频| 国产精品亚洲人成在99www| 亚洲精品黄色| 亚洲影院天堂中文av色| 玖玖精品视频| 免费精品视频| 久久午夜精品| 亚洲免费在线| 久久亚洲二区| 日韩精品一区第一页| 热久久免费视频| 欧美在线综合| 一区二区三区四区在线观看国产日韩|