python進階(17)偏函式partial

Silent丿丶黑羽發表於2021-04-29

什麼是偏函式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原則,節省程式設計成本。

相關文章