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