我一直在看,但是我不实际地理解匿名函数和正常函数之间的区别。
[python(lambda)中的Anonymuos函数:
triangle_area = lambda base, height: (base, height) / 2
正常功能:
def triangle_area(base, height):
return (base, height) / 2
但是当我为我调用函数时,是相同的,而不管您创建函数的方式如何。
triangle_area(10,7)
我希望我能很好地解释自己。
感谢您的帮助。
理想情况下,您永远不要以第一种方式编写它; “命名的lambda”实际上违反了PEP8。
Lambda非常有用,但是当您不需要给函数命名时:
map(lambda n: n * 2, [1, 2, 3])
这基本上与:
def double(n):
return n * 2
map(double, [1, 2, 3])
但是前者更为简洁,不会以不必要的名称污染名称空间。