Python知识点:lambda 表达式

news/2024/10/30 13:36:13/

大家好,欢迎来到 Crossin的编程教室 !

Python 是一门简洁的语言,lambda 表达式则充分体现了 Python 这一特点。

lambda 表达可以被看做是一种匿名函数。它可以让你快速定义一个极度简单的单行函数。譬如这样一个实现三个数相加的函数:

def sum(a, b, c):return a + b + cprint(sum(1, 2, 3))
print(sum(4, 5, 6))

输出:

6
15

如果使用 lambda 表达式来实现:

sum = lambda a, b, c: a + b + cprint(sum(1, 2, 3))
print(sum(4, 5, 6))

输出:

6
15

两种方法的结果是相同的。

lambda 表达式的语法格式:

lambda 参数列表: 表达式

定义 lambda 表达式时,参数列表周围没有括号,返回值前没有 return 关键字,也没有函数名称。

它的写法比 def 更加简洁。但是,它的主体只能是一个表达式,不可以是代码块,不能是命令(比如 del)。所以 lambda 表达式在获得了简洁的同时失去了一定的功能,能表达的逻辑相对有限。

lambda 表达式创建了一个函数对象,可以把这个对象赋值给一个变量进行调用,就像上面的例子中一样。

来看一个复杂一点的例子,把 lambda 表达式用在 def 函数定义中:

def fn(x):return lambda y: x + ya = fn(2)
print(a(3))

输出:

5

这里,fn 函数的返回值是一个 lambda 表达式,也就等于是一个函数对象。当以参数2来调用 fn 时,得到的结果就是:

lambda y: 2 + y
a = fn(2)

就相当于:

a = lambda y: 2 + y

所以 a(3) 的结果就是5。

lambda 表达式其实只是一种编码风格,这种写法更加 pythonic。这并不意味着你一定要使用它。事实上,任何可以使用 lambda 表达式的地方,都可以通过普通的 def 函数定义来替代。在一些需要重复使用同一函数的地方,def 可以避免重复定义函数。况且 def 函数更加通用,某些情况可以带来更好地代码可读性。

而对于像 filter、sort 这种需要内嵌函数的方法,lambda 表达式就会显得比较合适。这个下次再来单独介绍。

当然对于初学者来说,了解 lambda 表达式还有一个重要作用就是,看懂别人写的代码。


Crossin的新书《码上行动:零基础学会PYTHON编程(CHATGPT版)》已经上市了,书中对函数、参数、返回值及匿名函数等概念都做了详细讲解。

f96815a4d140b2d2805018c5226df465.jpeg

本书力求做到浅显易懂,让完全没有编程经验的零基础“小白”也能学会Python。内容从环境搭建这种最基础的步骤开始讲起,逐渐深入到常见的实际应用当中。在讲解知识点的同时配有相应的代码示例,让读者可以边学边练加深理解。

全书涵盖Python环境搭建、基础语法、常见数据类型、实用模块、正则表达式、面向对象编程、多任务编程等知识点。另外还提供了爬虫、GUI、游戏三个实战项目。

书中还创新地使用 ChatGPT 作为编程学习的辅助,带领读者探索AI时代下学习编程的新模式。

感谢转发点赞的各位~


http://www.ppmy.cn/news/265561.html

相关文章

excel被密码保护如何破解获得原密码

excel被密码保护如何破解获得原密码 1、打开Excel表格中的Excel选项,选择自定义,得到如下画面: 2、然后在左边侧框栏中选择“查看宏”之后双击或者选择添加按钮,则可以看到右边栏中有了查看宏按钮,之后点击右下角的确…

EXCEL密码清除(破解找回密码)——巧用宏代码

各位朋友估计都经历过excel 设置了密码,N久以后本以为这辈子都不会忘记的密码,真的忘记了。 唯一能做的就是破解,但网上各种破解工具又不可靠,各种担心,好不容易鼓起勇气决定下载破解软件,结果一次次中招&…

excel 破解密码

新建宏,运行 Sub PasswordBreaker()Breaks worksheet password protection.Dim i As Integer, j As Integer, k As Integer Dim l As Integer, m As Integer, n As Integer Dim i1 As Integer, i2 As Integer, i3 As Integer Dim i4 As Integer, i5 As Integer, i6 …

Excel破解工作表保护密码

目录: 一、破解过程 1、新建一个EXCEL文件“BOOK1”,在工具栏空白位置,任意右击,选择Visual Basic项,弹出Visual Basic工具栏 2、在Visual Basic工具栏中,点击“录制”按钮,弹出“录制新宏”…

Excel密码保护破解代码

声明:本文图片、文章来源于网络,版权归原作者所有,如有侵权,请与我联系删除。 1、打开Excel表格中的Excel选项,选择自定义,得到如下画面: 2、然后在左边侧框栏中选择“查看宏”之后双击或者选择添加按钮&a…

Excel文件加密后忘记密码破解方法

最好使用VBA 工程密码破解方法 新建一个excel文档,然后打开,同时按Alt和F11,进入VBA界面 点击菜单上的插入,模块 在新的窗口粘贴以下代码: 1 Sub crack()

设计模式-02.经典设计原则-第二节[必读]

设计模式经典设计原则-第二节 依赖反转原则(DIP) 关于 SOLID 原则,我们已经学过单一职责、开闭、里式替换、接口隔离这四个原则。今天,我们再来学习最后一个原则:依赖反转原则。在前面,我们讲到&#xff…

9. GraalVM.云原生时代的Java虚拟机

JVM性能调优 1. GraalVM诞生的背景1.1 Java在微服务/云原生时代的困境1.1.1 事实1.1.2 矛盾 本文是按照自己的理解进行笔记总结,如有不正确的地方,还望大佬多多指点纠正,勿喷。 课程内容: 1、Java在云原生时代的困境及解决方案 …