猿问

Python:为什么functools.partial是必要的?

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某种程度上更有效,或可读?


慕沐林林
浏览 555回答 3
3回答

冉冉说

嗯,这是一个显示差异的例子: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 8Ivan Moore的这些帖子扩展了“lambda的限制”和python中的闭包:Python中的闭包(第2部分)Python中的闭包(第3部分)
随时随地看视频慕课网APP

相关分类

Python
我要回答