lambda内部的lambda

问题描述 投票:6回答:3

只是出于好奇。几天前发现了Lambdas。我很想知道是否可以做这样的事情:

((尝试过解释,但我的尝试似乎都无效)

p = lambda x: (lambda x: x%2)/2

没有明确的目的。我只是找不到满意的答案。我可能误解了Lambda。

python lambda
3个回答
8
投票

您实际上不是呼叫内部lambda

p = lambda x: (lambda x: x%2)(x)/2

[注意,在Python 2中,此示例将始终返回0,因为除以2的余数将是01,并且将结果除以2的整数将导致截断的0 ]。


8
投票

您可以使用内部lambda返回基于外部参数的另一个函数:

mul = lambda x: (lambda y: y * x)
times4 = mul(4)
print times4(2)

1
投票

(lambda x: x%2)function,将函数除以2没有任何意义。您可能要调用它并除以它返回的值。

© www.soinside.com 2019 - 2024. All rights reserved.