python中偏函式

2022-06-23 23:15:16 字數 965 閱讀 8644

當乙個函式有很多引數時,呼叫者就需要提供多個引數。如果減少引數個數,就可以簡化呼叫者的負擔。

比如,int()函式可以把字串轉換為整數,當僅傳入字串時,int()函式預設按十進位制轉換:

>>> int('

12345')

12345

但int()函式還提供額外的base引數,預設值為10表示十進位制。如果傳入base引數,就可以做 n 進製的轉換:

>>> int('

12345

', base=8)

5349

>>> int('

12345

', 16)

74565

假設要轉換大量的二進位制字串,每次都傳入int(x, base=2)非常麻煩,於是,我們想到,可以定義乙個int2()的函式,預設把base=2傳進去:

def int2(x, base=2):

return int(x, base)

這樣,我們轉換二進位制就非常方便了:

>>> int2('

1000000')

64>>> int2('

1010101')

85

functools.partial就是幫助我們建立乙個偏函式的,不需要我們自己定義int2(),可以直接使用下面的**建立乙個新的函式int2:

>>> import

functools

>>> int2 = functools.partial(int, base=2)

>>> int2('

1000000')

64>>> int2('

1010101')

85

所以,functools.partial可以把乙個引數多的函式變成乙個引數少的新函式,少的引數需要在建立時指定預設值,這樣,新函式呼叫的難度就降低了。

python 偏函式 python 偏函式

functools.partial可以設定預設引數和關鍵字引數的預設值 python的functools模組提供了很多有用的功能,其中乙個就是偏函式 partial function 要注意,這裡的偏函式和數學意義上的偏函式不一樣。在介紹函式引數的時候,我們講到,通過設定引數的預設值,可以降低函式呼...

python中的偏函式partial

python的functools模組提供了很多有用的功能,其中乙個就是偏函式 partial function 要注意,這裡的偏函式和數學意義上的偏函式不一樣。在介紹函式引數的時候,我們講到,通過設定引數的預設值,可以降低函式呼叫的難度。而偏函式也可以做到這一點。舉例如下 int 函式可以把字串轉換...

python純函式,偏函式

純函式 乙個函式的返回結果只依賴於他的引數,並且只執行過程裡面沒有 我們就把這個函式叫做純函式 即函式不讀取 修改外部變數,全域性變數。3個原則 變數都只在函式作用域內獲取,作為函式的引數傳入 不會產生 不會改變被傳入的資料或者其他資料 全域性變數 相同的輸入保證相同的輸出 是指函式被呼叫,完成可函...