python中的偏函式概念與數學中的不同。
前面我們已經講到我們在定義函式的時候,可以給一些引數設定預設值,以方便呼叫的時候不必每個引數都輸入。
但是在呼叫的時候,設定的預設值不一定都適合使用場景,所以我們需要修改它們。
例如,int()
函式是乙個將字串轉換成十進位制整數的函式。實際上如果傳入base
引數我們可以做任意進製的轉換。
int('123',base=8)
那麼,如果我們在多處都用到了8進製的轉換,那麼重複書寫上面的**就不大科學了。
我們可以自定義乙個轉換函式
def int8(str):
return int(str,base=8)
當然,python給我們提供了更加簡便的方式
import functools
int8 = functools.partial(int, base = 8)
print int8('1234')
實際上,functools.partial()
函式接收的是func、args、
kwords三個引數。functools.partial()
會自動將傳入的args、*kwords加到func
的參數列中。
Python學習筆記 偏函式
python中的偏函式是由functools模組所提供,當乙個函式有很多引數時,呼叫者就需要提供多個引數。如果減少引數個數,就可以簡化呼叫者的負擔。比如在int函式中轉為2進製的時候 方法1 每次都傳入int x,base 2 方法2 定義乙個int2 的函式,預設把base 2傳進去 def in...
Python筆記 偏函式
python的functools模組提供了很多有用的功能,其中乙個就是偏函式 partial function 1 要注意,這裡的偏函式和數學意義上的偏函式不一樣。在介紹函式引數的時候,我們講到,通過設定引數的預設值,可以降低函式呼叫的難度。而偏函式也可以做到這一點 int 函式可以把字串轉換為整數...
python學習,偏函式
python的functools模組提供了很多有用的功能,其中乙個就是偏函式 partial function 要注意,這裡的偏函式和數學意義上的偏函式不一樣。在介紹函式引數的時候,我們講到,通過設定引數的預設值,可以降低函式呼叫的難度。而偏函式也可以做到這一點。functools.partial就...