定義:偏函式的第二個部分(可變引數),按原有函式的引數順序進行補充,引數將作用在原函式上,最後偏函式返回乙個新函式(類似於,裝飾器decorator,對於函式進行二次包裝,產生特殊效果;但又不同於裝飾器,偏函式產生了乙個新函式,而裝飾器,可改變被裝飾函式的函式入口位址也可以不影響原函式)
效果:固定一部分引數,在後續呼叫時只需傳遞少量引數即可。
個人傾向於按照重構函式行為來理解,比如需要3個函式,乙個是x的平反,乙個是x的3次方,乙個是x的四次方,那麼乙個函式將2,3,4當做引數穿進去 ,生成乙個新函式。這樣的話可以把原函式看做函式集合,偏函式才是真正使用的函式具體物件。
舉例01:
from functools import partial舉例02:def mod( n, m ):
return n % m
mod_by_100 = partial( mod, 100 )
print mod( 100, 7 ) # 2
print mod_by_100( 7 ) # 2
from functools import partialbin2dec = partial( int, base=2 )
print bin2dec( '0b10001' ) # 17
print bin2dec( '10001' ) # 17
hex2dec = partial( int, base=16 )
print hex2dec( '0x67' ) # 103
print hex2dec( '67' ) # 103
python 偏函式 python 偏函式
functools.partial可以設定預設引數和關鍵字引數的預設值 python的functools模組提供了很多有用的功能,其中乙個就是偏函式 partial function 要注意,這裡的偏函式和數學意義上的偏函式不一樣。在介紹函式引數的時候,我們講到,通過設定引數的預設值,可以降低函式呼...
Python高階之偏函式
當乙個函式有很多引數時,呼叫者就需要提供多個引數。如果減少引數個數,就可以簡化呼叫者的負擔。比如,int 函式可以把字串轉換為整數,當僅傳入字串時,int 函式預設按十進位制轉換 int 12345 12345但int 函式還提供額外的base引數,預設值為10。如果傳入base引數,就可以做n進製...
Python 之匿名函式和偏函式
python允許使用lambda關鍵字創造匿名函式,lambda表示式用於定義匿名函式,它返回可呼叫的函式物件,語法如下 lambda arg1,arg2,expression 例如 add lambda a,b 2 a b print add 3 5print add 3,10 13 匿名函式具有...