gpt4 book ai didi

python - 关于python中partial定义的困惑

转载 作者:太空宇宙 更新时间:2023-11-04 10:33:25 24 4
gpt4 key购买 nike

通过 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

我真的不明白。任何意见或建议表示赞赏。谢谢。

最佳答案

functools.partial 实例提供了这些属性,因此代码可以检查属性以查看 partial 实例使用哪些参数调用了哪些函数。对象完成其工作不需要它们。

关于python - 关于python中partial定义的困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25009370/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com