一般函數在執行時,需要帶上必要的參數調用,但有時參數可以在函數被調用之前提前獲知,此時,一個函數有一個或多個參數預先就可以用上,以便函數能用更少的參數進行調用。partial函數就可以實現這樣的功能,在使用partial函數前必須調用functools模塊。
有點抽象,舉個代碼例子吧,體會一下:
1 import functools 2 3 def add(a, b): 4 return a+b 5 6 rst1 = add(4, 2) 7 plus3 = functools.partial(add, 3) 8 plus5 = functools.partial(add, 5) 9 rst2 = plus3(4) 10 rst4 = plus5(10) 11 12 #print(rst1, '\n', rst2, '\n', rst4) 13 print(rst1, ' ', rst2, ' ', rst4)
相當於在partial函數里已經指定了一個參數,其余參數在調用函數時再調用就可以了,表達不是很清晰,但是看看例子完全可以理解的。