Python函数工具部分定义

Python函数工具部分定义,python,higher-order-functions,functools,Python,Higher Order Functions,Functools,从中,partial函数“大致相当于” 然而,我不明白这些线路的必要性 newfunc.func = func newfunc.args = args newfunc.keywords = keywords 在定义中。如果我创建的partial函数没有这三行,它的行为与包含这些行的定义完全相同。文档页面上说,partial对象必须具有三个属性func、args、和关键字,因此我可以理解为什么上面的函数定义包含这些属性,但我仍然看不到它们实现了什么具体目标 我认为,部分不

从中,
partial
函数“大致相当于”

然而,我不明白这些线路的必要性

    newfunc.func = func
    newfunc.args = args
    newfunc.keywords = keywords

在定义中。如果我创建的
partial
函数没有这三行,它的行为与包含这些行的定义完全相同。文档页面上说,
partial
对象必须具有三个属性
func
args
、和
关键字
,因此我可以理解为什么上面的函数定义包含这些属性,但我仍然看不到它们实现了什么具体目标

我认为,
部分
不需要它们,这只是为了防止以后需要一些内省。根据,“[the]返回的函数用内省有用的属性装饰——它包装的函数,以及它在其中修复的位置和命名参数”Ok cool!这些线路是为了内省,这是我的经营假设,但我对此并不完全有信心。
    newfunc.func = func
    newfunc.args = args
    newfunc.keywords = keywords