區域性
partial
函式從另一個函式建立部分函式應用程式。它用於將值繫結到函式的某些引數(或關鍵字引數),並在沒有已定義的引數的情況下生成可呼叫的值。
>>> from functools import partial
>>> unhex = partial(int, base=16)
>>> unhex.__doc__ = 'Convert base16 string to int'
>>> unhex('ca11ab1e')
3390155550
partial()
,顧名思義,允許對函式進行部分評估。我們來看下面的例子:
In [2]: from functools import partial
In [3]: def f(a, b, c, x):
...: return 1000*a + 100*b + 10*c + x
...:
In [4]: g = partial(f, 1, 1, 1)
In [5]: print g(2)
1112
當 g
被建立時,f
,它接受四個引數(a, b, c, x
),也會對前三個引數 a, b, c,
進行部分評估。當 g
被稱為 g(2)
時,f
的評估完成,g(2)
將第四個引數傳遞給 f
。
想到 partial
的一種方法是移位暫存器; 當時將一個引數推入某個函式。partial
對於資料作為流進入的情況很方便,我們不能傳遞多個引數。