我的编程空间,编程开发者的网络收藏夹
学习永远不晚

举例讲解Python的lambda语句声明匿名函数的用法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

举例讲解Python的lambda语句声明匿名函数的用法

所谓匿名函数,即是不需要定义函数,像表达式一样使用,不需要函数名(很多时候名字让我很困扰),一些简单的函数简单化, 举个例子
我需要两个整数相加的函数,通常是这么定义的


def add(x, y):
  return x + y

很好的完成了我需要的功能, 但是我现在需要一个数字与字符串相加的函数


def addstr(x, y):
  return x + str(y)


又一次完成了我的需求,但是 我突然需要两个整数相减,相除的功能这样函数就得 一直写下去, 但是使用lambda 匿名函数可以直接使用


# 相加的实现
f = lambda x, y: x + y

f_str = lambda x, y: x + str(y)

简化了操作 让函数更简单,但有个缺点就是 可维护性差, 当需要功能复杂时不建议使用

lambda语句的目的是由于性能的原因,在调用时绕过函数的栈分配。其语法是:


lambda [arg1[, arg2, ... argN]]: expression

下面举例来说明lambda语句的使用方法(无参数)。

Python匿名函数lambda举例(无参数)Python


# 使用def定义函数的方法
def true():
  return True

#等价的lambda表达式
>>> lambda :True
<function <lambda> at 0x0000000001E42518>

# 保留lambda对象到变量中,以便随时调用
>>> true = lambda :True
>>> true()
True

# 使用def定义函数的方法
def true():
  return True
 
#等价的lambda表达式
>>> lambda :True
<function <lambda> at 0x0000000001E42518>
 
# 保留lambda对象到变量中,以便随时调用
>>> true = lambda :True
>>> true()
True

下面再举一个带参数的例子。

Python匿名函数lambda举例(含参数)Python


# 使用def定义的函数
def add( x, y ):
  return x + y

# 使用lambda的表达式
lambda x, y: x + y

# lambda也允许有默认值和使用变长参数
lambda x, y = 2: x + y
lambda *z: z

# 调用lambda函数
>>> a = lambda x, y: x + y
>>> a( 1, 3 )
4
>>> b = lambda x, y = 2: x + y
>>> b( 1 )
3
>>> b( 1, 3 )
4
>>> c = lambda *z: z
>>> c( 10, 'test')
(10, 'test')

# 使用def定义的函数
def add( x, y ):
  return x + y
 
# 使用lambda的表达式
lambda x, y: x + y
 
# lambda也允许有默认值和使用变长参数
lambda x, y = 2: x + y
lambda *z: z
 
# 调用lambda函数
>>> a = lambda x, y: x + y
>>> a( 1, 3 )
4
>>> b = lambda x, y = 2: x + y
>>> b( 1 )
3
>>> b( 1, 3 )
4
>>> c = lambda *z: z
>>> c( 10, 'test')
(10, 'test')

是不是看起来代码更简洁,又不失可读性。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

举例讲解Python的lambda语句声明匿名函数的用法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

举例讲解Python的lambda语句声明匿名函数的用法

所谓匿名函数,即是不需要定义函数,像表达式一样使用,不需要函数名(很多时候名字让我很困扰),一些简单的函数简单化, 举个例子 我需要两个整数相加的函数,通常是这么定义的def add(x, y):return x + y很好的完成了我需要的
2022-06-04

Python匿名函数lambda的用法

本篇内容主要讲解“Python匿名函数lambda的用法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python匿名函数lambda的用法”吧!Python内置了多个关键字,今天我们来介绍下其
2023-06-02

C++ 函数声明中的 lambda 表达式:探索匿名函数的灵活使用

lambda 表达式是一种匿名函数,可在函数声明中创建并传递函数对象,提高代码灵活性和可读性。其语法为:[捕获列表] (参数列表) -> 返回类型 { 函数体 }。在实际应用中,它提供了比函数指针更简洁、灵活的方法,例如创建匿名函数 lam
C++ 函数声明中的 lambda 表达式:探索匿名函数的灵活使用
2024-05-03

Python中的if、else、elif语句用法简明讲解

下面我们学习if语句,输入下面的代码,确保能够正确运行。people = 20 cats = 30 dogs = 15 if people < cats: print "Too many cats! The world is doome
2022-06-04

举例讲解Python中的list列表数据结构用法

循环和列表 不管怎样,程序会做一些重复的事情,下面我们就用for循环打印一个列表变量。做这个练习的时候你必须自己弄懂它们的含义和作用。 在使用for循环之前,我们需要一个东西保存循环的值,最好的方法是使用一个列表,列表就是按照顺序保存数据的
2022-06-04

C++ 函数声明的详细语法:从语法解析到规范用法解析

c++++函数声明语法为:returntype functionname(parametertype1 parametername1, ... , parametertypen parameternamen);,其中returntype为返
C++ 函数声明的详细语法:从语法解析到规范用法解析
2024-04-30

举例简单讲解Python中的数据存储模块shelve的用法

shelve类似于一个key-value数据库,可以很方便的用来保存Python的内存对象,其内部使用pickle来序列化数据,简单来说,使用者可以将一个列表、字典、或者用户自定义的类实例保存到shelve中,下次需要用的时候直接取出来,就
2022-06-04

Python如何规定在遇到无法解析的实体名称(NDATA)声明时被调用的函数

Python规定遇到无法解析的实体名称声明(NDATA)时调用getattr方法。该方法返回属性值或引发AttributeError。NDATA声明是指对未定义名称的引用,可以通过getattr动态创建和访问属性。使用getattr有利于动态属性访问、属性延迟加载和对象扩展,但可能导致性能开销、调试困难和可读性降低。最佳实践包括仅在必要时使用、明确定义默认值、使用缓存和类型提示。
Python如何规定在遇到无法解析的实体名称(NDATA)声明时被调用的函数
2024-04-02

C语言如何规定在遇到无法解析的实体名称(NDATA)声明时被调用的函数

C语言中,当遇到无法解析的实体名称(NDATA)声明时,将调用__call_report_implementation_errors函数来处理错误。该函数会报告错误消息,包括未解析的实体名称、文件名、行号和错误描述。NDATA声明常见于变量、函数、结构体和枚举声明中,通常由拼写错误、缺少关键字、名称冲突或未包含必要头文件引起。为了避免NDATA声明,应仔细检查声明的拼写和语法,并在声明前声明类型和包含头文件。
C语言如何规定在遇到无法解析的实体名称(NDATA)声明时被调用的函数
2024-04-02

Go语言如何规定在遇到无法解析的实体名称(NDATA)声明时被调用的函数

Go语言处理无法解析的实体名称(NDATA)声明时,将调用5个函数:NDTAIntrinsics、NDATATypes、NDATAImporting、NDTAEllipsis。这些函数按序检查名称是否属于内置类型、常量/变量、命名包或省略号。根据检查结果,返回相应类型对象或生成错误。
Go语言如何规定在遇到无法解析的实体名称(NDATA)声明时被调用的函数
2024-04-02

Java如何规定在遇到无法解析的实体名称(NDATA)声明时被调用的函数

Java提供了两个函数来处理无法解析的实体名称(NDATA)声明:resolveEntity:解析具有指定公共标识符和系统标识符的实体。parse:解析具有指定系统标识符的文档。无法解析NDATA的原因可能包括:公共标识符或系统标识符不正确实体不可用文档格式错误Java提供了ErrorHandler接口和setEntityResolver方法来处理NDATA声明。
Java如何规定在遇到无法解析的实体名称(NDATA)声明时被调用的函数
2024-04-02

PHP如何规定在遇到无法解析的实体名称(NDATA)声明时被调用的函数

PHP提供了html_entity_decode()函数来处理无法解析的HTML实体名称,将其转换为Unicode字符。此函数支持各种实体格式,包括十进制编码、十六进制编码和命名实体。开发者可通过指定选项来控制转换行为,如将过时实体解析为UTF-8字符。使用html_entity_decode()函数有助于正确处理未识别的HTML实体,防止安全漏洞和显示问题。
PHP如何规定在遇到无法解析的实体名称(NDATA)声明时被调用的函数
2024-04-02

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录