【发布时间】:2020-04-25 11:13:20
【问题描述】:
我在看,但我不明白匿名函数和普通函数之间的区别。
python(lambda) 中的匿名函数:
triangle_area = lambda base, height: (base, height) / 2
普通函数:
def triangle_area(base, height):
return (base, height) / 2
但是当我为我调用函数时是一样的,无论你创建函数的方式如何。
triangle_area(10,7)
我希望我能很好地解释自己。
感谢您的帮助。
【问题讨论】:
-
匿名函数主要是为了节省空间。如果你是用过一次,或者非常简单的话,最好把它做成一行然后搞定。
-
匿名函数实际上应该始终保持匿名,例如一个关键函数
sorted(lst, key = lambda x: len(x)**2或一个函数列表[lambda x: x, lambda x: x /2]等等——还有一些其他的区别,你可以在一个lambda表达式中做所有你可以在常规def函数中做的事情
标签: python function anonymous-function