什麼是偏函式partial
python中提供一種對於函式固定屬性的函式
偏函式的作用
把一個函式的某些引數給固定住(也就是設定預設值),返回一個新的函式
偏函式的語法
使用偏函式必須先匯入from functools import partial
函式格式:partial(func, *args, **kwargs)
- func:代表函式名
- *args:func函式的不定長引數
- **kwargs:func函式的關鍵字引數
案例1
from functools import partial
bin2dec = partial(int, base=2) # 把 int 的轉換設為二進位制了,這裡 base 是 int 函式表示進位制的引數。
print(bin2dec('0b10001') ) # 17
print(bin2dec('10001')) # 17
hex2dec = partial(int, base=16) # 把 int 的轉換設為16進位制
print(hex2dec('0x67')) # 103
print(hex2dec('67')) # 103
案例2
partial_max = partial(max, 100)
print(partial_max(1, 2, 99)) # 100
上面是給max()
函式設定了一個預設引數100,返回一個新函式,當我們傳入引數(1, 2, 99)
實際上引數中還有一個預設值100,相當於(100, 1, 2, 99)
,所以得出的最大值為100
偏函式的這些應用看似簡單,用途卻很大,可以很好的執行DRY原則,節省程式設計成本。