按https://docs.python.org/2/library/functools.html,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
我认为应该像这样定义:
def partial(func, *args, **keywords):
def newfunc(*fargs, **fkeywords):
newkeywords = keywords.copy()
newkeywords.update(fkeywords)
return func(*(args + fargs), **newkeywords)
return newfunc
那么,“不必要”的重要性是什么呢? 3行:
newfunc.func = func
newfunc.args = args
newfunc.keywords = keywords
我真的不明白。感谢任何建议或建议。谢谢。
答案 0 :(得分:4)
functools.partial
实例提供这些属性,因此代码可以检查属性以查看partial
实例使用什么参数调用的函数。对象不需要它们来完成它的工作。