在Python中,假設我有一個函數f
,我想傳遞一些輔助參數(爲簡單起見,假設它只是第一個參數保持可變)。functools.partial和類似的lambda之間的區別?
做這兩種方法(如果有的話)之間有什麼區別?
# Assume secondary_args and secondary_kwargs have been defined
import functools
g1 = functools.partial(f, *secondary_args, **secondary_kwargs)
g2 = lambda x: f(x, *secondary_args, **secondary_kwargs)
在doc page for partial
,例如,有這樣的話:在類中定義
partial
對象的行爲像靜態方法和實例期間不轉換成綁定方法屬性查找。
如果用lambda方法從提供給類的參數(在構造函數中或通過稍後的函數中)創建類方法,是否會受到這種影響?
我認爲我的問題與聯繫的問題完全不同,但是這個問題的最佳答案非常全面,它也回答了我所尋找的許多問題。如果它作爲副本關閉,我不會抱怨。 – ely 2012-08-06 12:43:31
我同意這不是重複的,我已經重新打開你的問題。對於其他參考,相關的問題是[這裏](http://stackoverflow.com/questions/220658/what-is-the-difference-between-a-closure-and-a-lambda)。 – wim 2014-07-30 11:46:39