0
我發現這段代碼並開始想知道,爲什麼不簡單地用自己的實現來替換導入? 使用functools.partial有什麼(性能)好處嗎?它是用純Python還是本機代碼實現的?通過自己的純Python impl導入functools的好處?
try:
from functools import partial
except ImportError:
# http://docs.python.org/library/functools.html#functools.partial
def partial(func, *args, **keywords):
def newfunc(*fargs, **fkeywords):
newkeywords = keywords.copy()
newkeywords.update(fkeywords)
return func(*(args + fargs), **newkeywords)
newfunc.func = func
newfunc.args = args
newfunc.keywords = keywords
return newfunc
'partial'在'_functools'中定義,它是一個本地編譯的庫。我認爲原因是它可以做一些比簡單地將一個可調用對象包裝在另一個可調對象中更高效的事情。 – chepner
在'functools.py'開頭,你應該看到'from _functools import partial'。這就是爲什麼'partial'不是在純Python中實現的。 – chepner