• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > 举例讲解Python的lambda语句声明匿名函数的用法

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

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了lambda,lambda表达式,python lambda,tdk lambda,lambda是什么意思等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

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

def add(x, y):
  return x + y
</div>

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

def addstr(x, y):
  return x + str(y)
</div>


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

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

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

</div>

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

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

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

</div>

下面举例来说明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

</div>

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

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')

</div>

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

</div>

您可能想查找下面的文章:

  • Python中 Lambda表达式全面解析
  • 详解Python的Lambda函数与排序
  • 举例讲解Python的lambda语句声明匿名函数的用法
  • python中的lambda表达式用法详解
  • Python的几个高级语法概念浅析(lambda表达式闭包装饰器)
  • python生成器表达式和列表解析
  • python生成器表达式和列表解析
  • 深入解析Python中的lambda表达式的用法
  • 深入解析Python中的lambda表达式的用法
  • python中lambda与def用法对比实例分析

相关文章

  • python命令行参数解析OptionParser类用法实例
  • wxPython窗口中文乱码解决方法
  • Python+微信接口实现运维报警
  • 举例讲解Python的Tornado框架实现数据可视化的教程
  • python实现可以断点续传和并发的ftp程序
  • python登录pop3邮件服务器接收邮件的方法
  • python操作摄像头截图实现远程监控的例子
  • 归纳整理Python中的控制流语句的知识点
  • Python聊天室实例程序分享
  • Python中的变量和作用域详解

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • Python HTMLParser模块解析html获取url实例
    • Python Requests 基础入门
    • python logging类库使用例子
    • Python读取图片EXIF信息类库介绍和使用实例
    • python中的yield使用方法
    • python处理中文编码和判断编码示例
    • Python将图片批量从png格式转换至WebP格式
    • python Django模板的使用方法(图文)
    • Python实现的简单hangman游戏实例
    • Python3.2中Print函数用法实例详解

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有