python中偏函數(shù)partial用法實(shí)例分析
本文實(shí)例講述了python中偏函數(shù)partial用法。分享給大家供大家參考。具體如下:
函數(shù)在執(zhí)行時,要帶上所有必要的參數(shù)進(jìn)行調(diào)用。但是,有時參數(shù)可以在函數(shù)被調(diào)用之前提前獲知。這種情況下,一個函數(shù)有一個或多個參數(shù)預(yù)先就能用上,以便函數(shù)能用更少的參數(shù)進(jìn)行調(diào)用。
例如:
In [9]: from functools import partial In [10]: def add(a,b): ....: return a+b ....: In [11]: add(4,3) Out[11]: 7 In [12]: plus = partial(add,100) In [13]: plus(9) Out[13]: 109 In [14]: plus2 = partial(add,99) In [15]: plus2(9) Out[15]: 108
其實(shí)就是函數(shù)調(diào)用的時候,有多個參數(shù) 參數(shù),但是其中的一個參數(shù)已經(jīng)知道了,我們可以通過這個參數(shù)重新綁定一個新的函數(shù),然后去調(diào)用這個新函數(shù)。
如果有默認(rèn)參數(shù)的話,他們也可以自動對應(yīng)上,例如:
In [17]: def add2(a,b,c=2): ....: return a+b+c ....: In [18]: plus3 = partail(add,101) --------------------------------------------------------------------------- NameError Traceback (most recent call last) /Users/yupeng/Documents/PhantomJS/<ipython-input-18-d4b7c6a6855d> in <module>() ----> 1 plus3 = partail(add,101) NameError: name 'partail' is not defined In [19]: plus3 = partial(add,101) In [20]: plus3(1) Out[20]: 102 In [21]: plus3 = partial(add2,101) In [22]: plus3 = partial(add2,101) (1) Out[22]: 104 In [23]: plus3(1) Out[23]: 104 In [24]: plus3(1,2) Out[24]: 104 In [25]: plus3(1,3) Out[25]: 105 In [26]: plus3(1,30) Out[26]: 132
希望本文所述對大家的Python程序設(shè)計有所幫助。
相關(guān)文章
Python+Tkinter實(shí)現(xiàn)高顏值桌面便簽工具
在快節(jié)奏的現(xiàn)代生活中,高效的任務(wù)管理成為提升生產(chǎn)力的關(guān)鍵,本文將帶你用Python的Tkinter庫開發(fā)一款輕量級桌面便簽工具,感興趣的小伙伴可以參考一下2025-04-04
Python操作Excel數(shù)據(jù)的封裝函數(shù)分享
對比其它編程語言,我們都知道Python最大的優(yōu)勢是代碼簡單,有豐富的第三方開源庫供開發(fā)者使用。而對于數(shù)據(jù)的讀取和存儲,對于普通人來講,除了數(shù)據(jù)庫之外,最常見的就是微軟的Excel。本文為大家準(zhǔn)備了Python操作Excel數(shù)據(jù)的封裝函數(shù),希望對大家有所幫助2022-11-11
Django2.2配置xadmin的實(shí)現(xiàn)
這篇文章主要介紹了Django2.2配置xadmin的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05
Python實(shí)現(xiàn)隨機(jī)生成迷宮并自動尋路
最近在學(xué)習(xí)Python,正好今天在學(xué)習(xí)隨機(jī)數(shù),本文實(shí)現(xiàn)了Python實(shí)現(xiàn)隨機(jī)生成迷宮并自動尋路,感興趣的可以了解一下2021-06-06
Pytest使用logging模塊寫日志的實(shí)例詳解
logging是python語言中的一個日志模塊,專門用來寫日志的,日志級別通常分為debug、info、warning、error、critical幾個級別,一般情況下,默認(rèn)的日志級別為warning,在調(diào)試或者測試階段,下面就快速體驗(yàn)一下logging模塊寫日志的用法,感興趣的朋友跟隨小編一起看看吧2022-12-12
python3多重排序處理多數(shù)據(jù)的示例詳解
Python3的多重排序通常指的是對數(shù)據(jù)集合按照兩個或多個人數(shù)屬性進(jìn)行排序的過程,這可以通過將多個排序關(guān)鍵字作為元組傳遞給內(nèi)置的sorted()函數(shù)或者是使用列表推導(dǎo)式結(jié)合lambda函數(shù)完成,本文詳細(xì)分析了python3多重排序處理多數(shù)據(jù),需要的朋友可以參考下2024-07-07

