Partial function
偏函數是將所要承載的函數作為partial()函數的第一個參數,原函數的各個參數依次作為partial()函數后續的參數,除非使用關鍵字參數.
當函數的參數個數太多,需要簡化時,使用functools.partial可以創建一個新的函數,這個新函數可以固定住原函數的部分參數,從而在調用時更簡單.
from functools import partial def mod(n,m): return n%m mod_by_50=partial(mod,50) print mod(50,7) 1 print mod_by_50(7) 1 from functools import partial bin2dec=partial(int,base=2) print bin2dec("0b10001") print bin2dec("1001") 17 17 hex2dec=partial(int,base=16) print hex2dec("0x22") print hex2dec("22") 34 34
import functools max1=functools.partial(max,5) max1(1,2,3) 5 #相當於 args=(5,1,2,3) max(*args) 5
