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

相关推荐
我命由我1234530 分钟前
Spring Boot 自定义日志打印(日志级别、logback-spring.xml 文件、自定义日志打印解读)
java·开发语言·jvm·spring boot·spring·java-ee·logback
蹦蹦跳跳真可爱5891 小时前
Python----计算机视觉处理(Opencv:道路检测之提取车道线)
python·opencv·计算机视觉
徐小黑ACG1 小时前
GO语言 使用protobuf
开发语言·后端·golang·protobuf
0白露2 小时前
Apifox Helper 与 Swagger3 区别
开发语言
Tanecious.3 小时前
机器视觉--python基础语法
开发语言·python
叠叠乐4 小时前
rust Send Sync 以及对象安全和对象不安全
开发语言·安全·rust
ALe要立志成为web糕手4 小时前
SESSION_UPLOAD_PROGRESS 的利用
python·web安全·网络安全·ctf
Tttian6225 小时前
Python办公自动化(3)对Excel的操作
开发语言·python·excel
蹦蹦跳跳真可爱5896 小时前
Python----机器学习(KNN:使用数学方法实现KNN)
人工智能·python·机器学习
独好紫罗兰6 小时前
洛谷题单2-P5713 【深基3.例5】洛谷团队系统-python-流程图重构
开发语言·python·算法