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月出版,电子工业出版社)

相关推荐
半桶水专家6 小时前
go语言中的结构体嵌入详解
开发语言·后端·golang
在屏幕前出油7 小时前
二、Python面向对象编程基础——理解self
开发语言·python
阿方索8 小时前
python文件与数据格式化
开发语言·python
weixin_440730509 小时前
java结构语句学习
java·开发语言·学习
JIngJaneIL9 小时前
基于java+ vue医院管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot
量子联盟9 小时前
功能完整的PHP站点导航管理系统php程序;开源免费下载
开发语言·php
仙俊红9 小时前
在 Java 中,`==` 和 `equals()` 的区别
java·开发语言·jvm
信创天地9 小时前
信创国产化数据库的厂商有哪些?分别用在哪个领域?
数据库·python·网络安全·系统架构·系统安全·运维开发
JIngJaneIL9 小时前
基于java + vue校园跑腿便利平台系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot
航Hang*9 小时前
Photoshop 图形与图像处理技术——第8章:图像的色彩与色彩调整和图像的输出与优化
图像处理·笔记·ui·photoshop