Python匿名函数lambda(R与Python第五篇)

目录

一、为什么要引入"lambda函数"?

二、匿名函数的两种用法

参考:


本文来源:《Python全案例学习与实践》(2019年9月出版,电子工业出版社)

Python允许使用一种无名的函数,称其为匿名函数。

Python通过关键字lambda来创建匿名函数。由于匿名函数使用关键字lambda,因此又被称为lambda函数。从本质上说,匿名函数只是一个表达式,虽然它也有所谓的"函数体",但其函数体比普通函数的函数体要简单得多。

一、为什么要引入"lambda函数"?

主要是为了减少栈内存占用,从而提高程序得运行效率。因为在函数中定义得变量和对象均占用函数得栈内存。换句话说,引入匿名函数是为了提高程序的运行效率,减少资源占用。

lambda函数的一般形式:

lambda arg1\<, arg2, ..., argn\>: expression

其中

  • lambda为关键词;
  • 为函数形式参数列表,可为一个或多个;
  • 参数表列后是":"
  • expression表达式,相当于普通函数的"函数体";
  • 该表达式的值就是匿名函数的函数体

二、匿名函数的两种用法

  • 使用方法一:先定义后调用
    • 先定义匿名函数,然后将函数值赋给某个变量(如下面代码示例中的r),然后通过实际参数的形式调用lambda函数将实际参数传入(如r(a, b));
  • 使用方法二:在定义的同时调用
    • 它的一般形式是
    • (lambda函数) (实际参数)
    • 注意:以这种方式定义的匿名函数只能被调用一次。
python 复制代码
>>>a, b =3, 5
>>>r = lambda x, y:x*3+y-1  #定义匿名函数
>>>print(r(a,b))            #输出匿名函数的值
13
>>>print((lambda x, y:x*3+y-1)(3,5))
13

如果用普通函数实现上述匿名函数的功能,则对应的函数应被定义为:

def func(x, y):

return x*3+y-1

  • 该函数的调用形式为:func(a,b)

参考:

《Python全案例学习与实践》(2019年9月出版,电子工业出版社)

相关推荐
灯澜忆梦8 小时前
GO_并发编程---定时器
开发语言·后端·golang
-银雾鸢尾-9 小时前
C#中的StringBuilder相关方法
开发语言·c#
-银雾鸢尾-9 小时前
C#中结构体与类的区别;抽象类与接口的区别
开发语言·c#
大模型码小白10 小时前
【Python零基础教程】继承、多态与魔法函数:面向对象编程三大核心特性详解
java·大数据·开发语言·人工智能·python·ai编程
麻雀飞吧10 小时前
最新量化学习路径,交易认知和技术实现要并行
人工智能·python
段一凡-华北理工大学12 小时前
向量数据库实战:选型、调优与落地~系列文章12:文本分块策略实战:chunk_size 怎么选?重叠多少?
开发语言·数据库·后端·oracle·rust·工业智能体·高炉智能化
Ljwuhe12 小时前
C++——多态
开发语言·c++
遇乐的果园12 小时前
前端学习笔记-vue加载渲染优化
前端·笔记·学习
心平气和量大福大13 小时前
C#-WPF-Window主窗体
开发语言·c#·wpf
遇乐的果园14 小时前
前端学习笔记-vue状态管理优化
前端·笔记·学习