最佳答案
我不能得到我的头partial
如何工作在functools
。
下面是在这里中的代码:
>>> sum = lambda x, y : x + y
>>> sum(1, 2)
3
>>> incr = lambda y : sum(1, y)
>>> incr(2)
3
>>> def sum2(x, y):
return x + y
>>> incr2 = functools.partial(sum2, 1)
>>> incr2(4)
5
现在在队列中
incr = lambda y : sum(1, y)
我得到,无论我传递给incr
的参数是什么,它都将作为y
传递给lambda
,后者将返回sum(1, y)
,即1 + y
。
我理解。但是我不明白这个incr2(4)
。
4
如何在局部函数中作为x
传递?对我来说,4
应该取代sum2
。x
和4
之间的关系是什么?