爲functools.partial文檔說,這是「大致相當於」:是預先考慮額外的參數執行functools.partial
def partial(func, *args, **keywords):
def newfunc(*fargs, **fkeywords):
newkeywords = keywords.copy()
newkeywords.update(fkeywords)
return func(*(args + fargs), **newkeywords) # line to change
newfunc.func = func
newfunc.args = args
newfunc.keywords = keywords
return newfunc
如果我想實現一個版本預規劃的其他參數, 似乎就像我不得不改變指定的線。
是否有任何其他功能/陷阱,我應該只是在複製這些代碼而擔心?
沒有想到內在的內涵。 – Dave 2012-08-06 19:43:20
這是偉大的,但我認爲它應該閱讀: 類rpartial(部分):DEF __call __(自我,* ARGS,** kwargs): 千瓦= self.keywords.copy() kw.update(kwargs) 返回self.func(*(args + self.args),**千瓦) – ishmael 2014-07-30 23:25:50
@ishmael謝謝,修正。 – ecatmur 2014-07-31 09:18:00