Python:为什么functools.partial是必要的?部分应用很酷。什么功能functools.partial提供你无法通过lambdas?>>> 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在functools某种程度上更有效,或可读?
3 回答

冉冉说
TA贡献1877条经验 获得超1个赞
嗯,这是一个显示差异的例子:
In [132]: sum = lambda x, y: x + yIn [133]: n = 5In [134]: incr = lambda y: sum(n, y)In [135]: incr2 = partial(sum, n)In [136]: print incr(3), incr2(3)8 8In [137]: n = 9In [138]: print incr(3), incr2(3)12 8
Ivan Moore的这些帖子扩展了“lambda的限制”和python中的闭包:
添加回答
举报
0/150
提交
取消