python中的偏函式是由functools模組所提供,當乙個函式有很多引數時,呼叫者就需要提供多個引數。如果減少引數個數,就可以簡化呼叫者的負擔。
比如在int函式中轉為2進製的時候
方法1:每次都傳入int(x, base=2)
方法2:定義乙個int2()的函式,預設把base=2傳進去
def
int2
(x, base=2):
return int(x, base)
方法3:使用functools.partial建立乙個偏函式,不需要重新定義int2(),可以直接使用下面的**建立乙個新的函式int2,把int函式的某些引數給固定住(也就是設定預設值),返回乙個新的函式int2,呼叫這個新函式會更簡單。:
import functools
int2 = functools.partial(int, base=2)
int2('1000000')
輸出結果:64
functools.partial可以把乙個引數多的函式變成乙個引數少的新函式,少的引數需要在建立時指定預設值,這樣,新函式呼叫的難度就降低了。
python學習筆記 偏函式
python中的偏函式概念與數學中的不同。前面我們已經講到我們在定義函式的時候,可以給一些引數設定預設值,以方便呼叫的時候不必每個引數都輸入。但是在呼叫的時候,設定的預設值不一定都適合使用場景,所以我們需要修改它們。例如,int 函式是乙個將字串轉換成十進位制整數的函式。實際上如果傳入base引數我...
Python筆記 偏函式
python的functools模組提供了很多有用的功能,其中乙個就是偏函式 partial function 1 要注意,這裡的偏函式和數學意義上的偏函式不一樣。在介紹函式引數的時候,我們講到,通過設定引數的預設值,可以降低函式呼叫的難度。而偏函式也可以做到這一點 int 函式可以把字串轉換為整數...
python學習,偏函式
python的functools模組提供了很多有用的功能,其中乙個就是偏函式 partial function 要注意,這裡的偏函式和數學意義上的偏函式不一樣。在介紹函式引數的時候,我們講到,通過設定引數的預設值,可以降低函式呼叫的難度。而偏函式也可以做到這一點。functools.partial就...