In python, lambda is actually a high-order function. for example,
f = lambda x, y : x if x > y else y equals to:
def f(x, y):
if x > y:
return x
else:
return y
furtur more, consider we alreay hava a function named t with the following definiation:
def test(x, y):
if x > y:
return x
else:
return y
then,
f = lambda: test
equals to:
def f():
return test
so, we have the following results:
>>> f
<function <lambda> at 0x7f7faadc2e60>
>>> f()
<function test at 0x7f7faadc2b18>
>>> f()(2, 3)
3
Remember this, we can easily tell different formats lambda statements, for example,
args = {'x':2, 'y':3}
g = lambda: test()
h = lambda: test(**args)
i = (lambda:test)(**args)
j = (lambda:test)()(**args)
k = (lambda x,y: x if x>y else y)(**args)
You should alrady konw the values of g, h, i, j and k, right? if not, think for a second time that lambda is actually a high-order function.
Python Lambda 函数详解
本文深入探讨了Python中Lambda函数的应用及其实现原理,通过多个示例解释了如何使用Lambda来替代传统函数定义,并展示了Lambda作为高阶函数的灵活性。
641

被折叠的 条评论
为什么被折叠?



