Python lambda函数教程:如何创建匿名函数及相关语法介绍

[id_[id_554882328]969137446]

Python lambda函数教程:如何创建匿名函数及相关语法介绍

Python Lambda 函数

Python lambda函数又叫匿名函数。它是没有名称的内联函数。该函数通过lambda关键字创建。它属于内置Python功能示例的一部分。

Python lambda函数被限定于单个表达式。它们能够在任何可使用常规功能的地方被使用。

Python Lambda 语法

Python lambda 具有以下语法:

z = lambda x: x * y

使用lambda关键字创建匿名函数。该函数用于将两个值相乘。x作为参数传递给lambda函数。参数后接冒号。冒号旁的代码是调用lambda函数时执行的表达式。lambda函数被分配给z变量

[id_416636769]

以下是演示 Python lambda 函数的简单示例。

lambda_fun_simple.py

#!/usr/bin/python3
def square(x):
    return x * x
sqr_fun = lambda x: x * x
print(square(3))
print(sqr_fun(4))

在示例中,我们有两个函数对一个值求平方。

def square(x):
    return x * x

这是Python函数。它用def关键字定义。函数名称是square。

sqr_fun = lambda x: x * x

在这里 我们用lambda定义了一个匿名的内联函数 要注意 这个函数没有名称 sqr_fun是保存已创建的lambda函数的变量的名字

 ./lambda_fun_simple.py 
9
16

这是示例的输出。

Python Lambda 和map

Python lambda函数能被用于map()函数。我们能够创建更简洁的代码。Python map()是个内置函数。此函数会把给定函数应用到iterable的每一项上。并返回一个迭代器对象。

lambda_fun_map.py

#!/usr/bin/python3
nums = [1, 2, 3, 4, 5, 6]
nums_squared 等于对 nums 中的每个元素应用一个函数,该函数返回元素自身相乘的结果
for num in nums_squared:
    print(num)

该示例用map()创建一个litle内联函数作为参数。我们使用map()函数。将lambda函数应用于列表的每个元素。

$ ./lambda_fun_map.py 
1
4
9
16
25
36

这是输出。

Python lambda 和filter

Python lambda 函数能和 filter()函数一同使用。filter()函数依据可迭代的元素构建一个列表。这些元素返回的值为 true。

lambda_fun_filter.py

#!/usr/bin/python3
nums等于由1、2、3、4、5、6、7、8、9、10、11、12组成的列表
nums_filtered等于通过过滤函数创建的列表。过滤函数对nums进行操作。过滤函数使用lambda表达式。lambda表达式中x为参数。条件是x对2取余的结果为真。
print(nums_filtered)

在示例中,我们过滤了整数列表。 新列表仅包含奇数整数。

nums_filtered = list(filter(lambda x: x % 2, nums))

filter()的首个参数是用于处理列表元素的函数。lambda函数含有x % 2表达式。该表达式针对奇数值返回true。

$ ./lambda_fun_filter.py 
[1, 3, 5, 7, 9, 11]

这是输出。

Python Lambda 和 Tkinter

Python lambda函数能应用于Tkinter的GUI编程里。它准许为command参数创建小型的内联函数。

lambda_tkinter.py

#!/usr/bin/python3
# -*- coding: utf-8 -*-
from tkinter import Tk, BOTH, messagebox
从tkinter.ttk模块中导入Button
class Example(Frame):
    def __init__(self, parent):
        Frame.__init__(self, parent)   
        self.parent = parent
        self.initUI()
    def initUI(self):
        self.parent.title("Buttons")
展开比例为1
其文本内容为“Button 1”
并传入参数"Button 1"
        btn1.pack(padx=5, pady=5)
按钮2 = 按钮(自身,文本 = "按钮2",
command等于一个匿名函数,该匿名函数执行时会调用self的onClick方法,并传入参数"Button 2"
        btn2.pack(padx=5, pady=5)
按钮2 等于 按钮(自身,文本为“按钮3”)
命令等于一个匿名函数,该匿名函数执行时会调用自身的onClick方法,并传入参数"Button 3"
        btn2.pack(padx=5, pady=5)   
    def onClick(self, text):
显示信息框。信息框标题为“Button label”。信息框内容为text。
def main():
    root = Tk()
并将窗口位置设置为横坐标300纵坐标300处
    app = Example(root)
    root.mainloop()  
if __name__ == '__main__':
    main()  

我们有三个按钮,它们共享一个回调。lambda函数能让我们把特定数据发送到回调函数。每个按钮会在消息框里显示自身标签。

其文本内容为“Button 1”
并传入参数"Button 1"

我们把匿名函数传给command参数。我们把按钮的标签发送到onClick()回调。

在本教程中,我们使用了 Python lambda 函数。

您或许也会对以下相关教程感兴趣:Python教程、Python for循环教程、Openpyxl教程、Python列表推导教程、Python映射教程、Python CSV教程。

你可能想看:
« 上一篇
下一篇 »

相关推荐

python爬虫教程PDF,Python爬虫书PDF

2026年09月02日

31阅读

外国教程python,python编程教学视频

2026年09月02日

25阅读

python简明教程沈洁元,python详细基础教程

2026年09月02日

21阅读

python库包教程,python 包

2026年09月02日

27阅读

python教程大全集,python教程600集

2026年09月02日

26阅读

python入门教程完整版,python零基础入门全套教程视频

2026年09月02日

22阅读