当前位置: 首页 > news >正文

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函数) (实际参数)
    • 注意:以这种方式定义的匿名函数只能被调用一次。
>>>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月出版,电子工业出版社)

http://www.lryc.cn/news/154103.html

相关文章:

  • 【2023校园招聘】 钉钉AI应用开发平台开始校招拉~
  • Linux系统gdb调试常用命令
  • Sumo中Traci.trafficlight详解(上)
  • 手写Mybatis:第13章-通过注解配置执行SQL语句
  • spring security - 快速整合 springboot
  • NPM 常用命令(二)
  • ctfhub ssrf(3关)
  • 跨源资源共享(CORS)Access-Control-Allow-Origin
  • 【嵌入式软件开发 】学习笔记
  • CentOS 7上安装Python 3.11.5,支持Django
  • COMPFEST 15H「组合数学+容斥」
  • react快速开始(三)-create-react-app脚手架项目启动;使用VScode调试react
  • 【C++入门】string类常用方法(万字详解)
  • 大数据错误
  • 【Node.js】Express-Generator:快速生成Express应用程序的利器
  • SpringMVC的工作流程及入门
  • logging.level的含义及设置 【java 日志 (logback、log4j)】
  • 第 3 章 栈和队列(链栈)
  • 嵌入式面试-经典问题
  • ZLMeidaKit在Windows上启动时:计算机中丢失MSVCR110.dll,以及rtmp推流后无法转换为flv视频流解决
  • 项目(智慧教室)第二部分,人机交互页面实现,
  • 【docker】docker的一些常用命令-------从小白到大神之路之学习运维第92天
  • ubuntu18.04.6的安装教程
  • 小白的第一个RNN(情感分析模型)
  • 华为云 存在部支持迁移的外键解决方法
  • C# winform控件和对象双向数据绑定
  • 达梦8 在CentOS 系统下静默安装
  • flink k8s sink到kafka报错 Failed to get metadata for topics
  • 利用大模型MoritzLaurer/mDeBERTa-v3-base-xnli-multilingual-nli-2mil7实现零样本分类
  • 代码随想录二刷day07