导入
Python 中的 Lambda 语句
了解 lambda 匿名函数的定义方式及常见应用场景
Python 的 lambda 语句是一种匿名函数,或者说无名函数,功能相当有限。让我们来看几个典型的例子,看看能否找到它的实际应用场景。通常在教学中提到的 lambda 示例都是一些乏味的倍增函数。为了与众不同,我们的简单示例将展示如何计算平方根。首先展示一个普通函数,然后给出其 lambda 等价形式:
1import math 2 3def sqroot(x): 4 """ 5 计算传入数字的平方根 6 """ 7 return math.sqrt(x) 8 9square_rt = lambda x: math.sqrt(x)
如果你尝试调用这两个函数,都会返回一个浮点数。以下是几个示例:
1print(sqroot(49)) 2# 7.0 3 4print(square_rt(64)) 5# 8.0
很简洁吧?但我们在实际生活中究竟会在哪里使用 lambda 呢?也许是在一个计算器程序中?这当然可行,但作为 Python 内置功能,这种用途未免太局限了!实际上,lambda 最常见的应用场景之一是 Tkinter 回调函数。Tkinter 是 Python 自带的一个用于构建图形用户界面的工具包。