Python(lambda)中的匿名函数[重复]

问题描述 投票:0回答:1

我一直在看,但是我不实际地理解匿名函数和正常函数之间的区别。

[python(lambda)中的Anonymuos函数:

triangle_area = lambda base, height: (base, height) / 2

正常功能:

def triangle_area(base, height):
     return (base, height) / 2

但是当我为我调用函数时,是相同的,而不管您创建函数的方式如何。

triangle_area(10,7)

我希望我能很好地解释自己。

感谢您的帮助。

python function anonymous-function
1个回答
0
投票

理想情况下,您永远不要以第一种方式编写它; “命名的lambda”实际上违反了PEP8。

Lambda非常有用,但是当您不需要给函数命名时:

map(lambda n: n * 2, [1, 2, 3])

这基本上与:

def double(n):
    return n * 2

map(double, [1, 2, 3])

但是前者更为简洁,不会以不必要的名称污染名称空间。

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