Python 匿名函数 lambda - Python零基础入门教程

目录

  • 一.Python 匿名函数 lambda 语法
  • 二.Python 匿名函数 lambda 调用
    • 1.lambda 匿名函数常规使用
    • 2. lambda 匿名函数使用不定长参数
    • 3. lambda 匿名函数作为参数使用
  • 三.Python 匿名函数 lambda 重点总结:
  • 四.猜你喜欢

零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门

在 Python 开发中常规的函数在调用之前都需要先声明,而 Python 匿名函数,有速写函数的功能并且匿名函数不需要声明也没有函数名字,完全不需要担心函数名冲突,具体的妙用还需要从实战练习中多多积累经验。

一.Python 匿名函数 lambda 语法

lambda a,b,c:expression

1.匿名函数有关键字 lambda 修饰;
2.匿名函数冒号 : 之前的是函数的参数,匿名函数可以是无参匿名函数,也可以是带参匿名函数;
3.匿名函数冒号 : 之后是表达式,匿名函数不需要写 return,表达式的结果就是返回值;

# !usr/bin/env python# -_- coding:utf-8 \__-"""@Author:猿说编程@Blog(个人博客地址): www.codersrc.com@File:Python 匿名函数 lambda.py@Time:2021/04/11 09:00@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!"""#不带参数的普通函数def sing_dog():return True #不带参数的匿名函数f0 = lambda :True #  无参的匿名函数,在匿名函数的冒号前面无需写参数print(sing_dog())print(f0())print("*\*\*"*20)#带参数的普通函数def sub(a,b):return a - bdef add(a,b):return a + b#带参数的匿名函数f1 = lambda a,b:a-bf2 = lambda a,b:a+bprint(sub(4,2))print(add(4,2))print(f1(4,2))print(f2(4,2))'''输出结果:TrueTrue2626
'''

首先,匿名函数和普通函数对比之下,明显能感觉到匿名函数的使用能让代码更加简洁,当然匿名函数使用场景适用于比较简单的需求,对于复杂的计算,匿名函数是无法完成的;

其次,无参的匿名函数,在匿名函数的冒号前面无需写参数;

二.Python 匿名函数 lambda 调用

1.lambda 匿名函数常规使用

假如有这样一个需求:传入一个字符串,对字符串根据空格拆分,并以字符串的形式返回拆分后的结果,示例代码如下:

# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:猿说编程
@Blog(个人博客地址): www.codersrc.com
@File:Python 匿名函数 lambda.py
@Time:2021/04/11 09:00
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!"""str1 = "laowang is sing_dog "#普通函数
def get_str(str1):# 1.将字符串拆分为列表list1 = str1.split(" ")# 2.将列表转为字符串并返回字符串return "".join(list1)# 将1/2两步合并为一步完成# return "".join(str1.split(" "))print("打印原始字符串:",str1)
print("调用普通函数获取字符串拆分结果:",get_str(str1))#匿名函数
f0 = lambda a:"".join(a.split(" "))
print("调用匿名函数获取字符串拆分结果:",f0(str1))'''
输出结果:打印原始字符串: laowang is sing_dog
调用普通函数获取字符串拆分结果: laowangissing_dog
调用匿名函数获取字符串拆分结果: laowangissing_dog
'''

如果对字符串转换不太熟悉的童鞋请参考:字符串/列表/元组/字典之间的相互转换

2. lambda 匿名函数使用不定长参数

# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:猿说编程
@Blog(个人博客地址): www.codersrc.com
@File:Python 匿名函数 lambda.py
@Time:2021/04/11 09:00
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!"""# 匿名函数:通过条件表达式,返回最大值
f0 = lambda x,y: x if x> y else y
print(f0(5,10))# 匿名函数:求三个参数的乘积
f1 = lambda x,y,z: x*y*z
print(f1(1,2,3))# 缺省的匿名函数
f2 = lambda x,y=2: x+y #使用了默认值
print(f2(10)) #第二个参数为缺省参数,使用默认值2# 不定长参数的匿名函数
f3 = lambda *z:z #*z返回的是一个元祖
print(f3('hello',False))# 不定长参数的匿名函数
f4 = lambda **Arg: Arg #arg返回的是一个字典
print(f4(a=1,b=2,k="hello"))'''
输出结果:10
6
12
('hello', False)
{'a': 1, 'b': 2, 'k': 'hello'}
'''

如果对 Python 不定长参数*argc,**kargcs 不太熟悉的话,可以在看一遍这篇文章:Python 函数不定长参数 *argc,**kargcs

3. lambda 匿名函数作为参数使用

其实匿名函数作为函数参数传参和普通函数传参没什么区别,示例代码如下:

# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:猿说编程
@Blog(个人博客地址): www.codersrc.com
@File:Python 匿名函数 lambda.py
@Time:2021/04/11 09:00
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!"""def function1(a,b,):return a if a>b else b #返回最大值# 1.定义匿名函数
f0 = lambda b:b*10
# 2.匿名函数作为参数,调用普通函数
function1(100,f0(5))# 上面两行代码合并为一行
function1(100 , (lambda b:b*10)(5))

]

三.Python 匿名函数 lambda 重点总结:

  • 1.匿名函数可以是无参匿名函数也可以是有参匿名函数;
  • 2.匿名函数不仅可以直接当作函数调用,还能直接作为函数中的参数直接使用;

四.猜你喜欢

  1. Python 字符串/列表/元组/字典之间的相互转换
  2. Python 局部变量和全局变量
  3. Python type 函数和 isinstance 函数区别
  4. Python is 和 == 区别
  5. Python 可变数据类型和不可变数据类型
  6. Python 浅拷贝和深拷贝
  7. Python 递归函数
  8. Python sys 模块
  9. Python 列表 list
  10. Python 元组 tuple
  11. Python 字典 dict
  12. Python 条件推导式
  13. Python 列表推导式
  14. Python 字典推导式
  15. Python 函数声明和调用
  16. Python 不定长参数 *argc/**kargcs

未经允许不得转载:猿说编程 » Python 匿名函数 lambda

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/525489.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

必须建筑师附体!像盖大楼那样打造数据即服务

近两年产业界总用“数据洪流”来形容数据的大爆发,但如果我们真把它视作洪水,那么它只会带来冲击;如能积极发掘其潜藏的价值,它则可能变成一条流金之河,正如麦肯锡在研究中发现的那样:与竞争对手相比&#…

华为鸿蒙用着怎么样,首批华为鸿蒙用户体验如何?“差评”有点难听,但是很真实!...

为了实现国产替代,打破海外企业对操作系统的垄断。华为集团推出了鸿蒙操作系统,这是一款真正意义上的国产操作系统,可以从一定程度上突破海外企业对手机操作系统的限制 。当然,一款操作系统的发展需要广大用户的支持,尽…

Python return逻辑判断表达式 - 零基础入门教程

目录 一.return 逻辑判断表达式 and二.return 逻辑判断表达式 or三.return 逻辑判断表达式 and 和 or 配合使用四.return 逻辑判断表达式重点总结五.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 一.return 逻辑判断表达式 and and&…

用 Python 分析《斗破苍穹》,分析其究竟是烂片无疑还是沧海遗珠?

作者 | 量化小白H责编 | 郭芮近期根据小说《斗破苍穹》改编的同名电视剧正在热映,本文对《斗破苍穹》进行文本分析,分为两部分。首先爬取豆瓣影评进行简单分析,随后对于原创小说文本中的人物进行详细分析。影评分析爬取影评使用的也是之前《用…

Python input 函数 -Python零基础入门教程

目录 一.前言二.Python input 函数简介三.Python input 函数实战四.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 一.前言 Python 内置函数其实挺多的,其中 input 和 eval 算得上比较特殊,input 属于交互式内置函数…

综评:5个方面看刚刚发布的Kubernetes 1.12

Kubernetes项目在过去几年中发展迅速,并且作为容器编排和管理解决方案的领导者而备受尊重。有了这个地位,Kubernetes开发者有责任提供经过充分测试,易于维护,高性能和可扩展的API和工具。在即将到来的每个发布周期中,大…

华为麒麟1020鸿蒙系统,华为P50pro最新确认:麒麟1020+立体全面屏+鸿蒙系统,这才是华为...

原标题:华为P50pro最新确认:麒麟1020立体全面屏鸿蒙系统,这才是华为华为P系列一直是领导华为手机上半年的发展,而今年的华为P40系列更是实现了大爆发,市场上手机销量不断的攀升,并且权威的科技评测也给出了…

干货 | 算法和编程面试题精选TOP50!(附代码+解题思路+答案)

作者 | javinpaul编译 | 王天宇、Jane整理 | Jane【导读】之前我们给同学们推荐了很多关于 Python 的面试资源,大家都表示很有用。这次营长表示要翻 Java 的牌子啦~ 应大家的强烈反馈,我们找了一套 Java 语言的算法和编程的面试题。这份面试资源主要包含…

Python map 函数 -Python零基础入门教程

目录 一.前言二.Python map 函数语法简介三.Python map 函数实战 1.使用 map 函数2.map 函数配合 lambda 匿名函数一起使用 四.Python map 函数效率对比五.Python map 函数总结六.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 一.前言 截…

鸿蒙os2.0开发者beta版,鸿蒙 OS 2.0 开发者beta版针对Mate 40系列设备开放

华为开始针对包括P40,Mate 30和MatePad Pro设备在内的设备招募HarmonyOS 2.0 Mobile开发人员beta版。招募之后,华为还开始向选定的测试人员推出HarmonyOS 2.0移动开发人员更新。根据最新信息,华为现已决定扩展适用于华为Mate X2可折叠手机&am…

python2版本libnum

如果运行RsaCtfTool工具 需要用到libnum,而网上基本上都是python3的libnum讲解,下面我就来说说python2的libnum https://github.com/ryanInf/python2-libnum 这个链接讲述的是python2的libnum模块 安装 git clone https://github.com/ryanInf/python2-l…

1.7亿条数据,比胡同和撸串更真实的北京

作者王越来源DT财经原创作品,如有转载,请联系公众号授权。“宇宙中心”是哪里?哪里又是北京的城市活力中心?北京究竟是一座怎样的城市?是汇聚了政治中心、国际交往中心、科技创新中心等多项顶级职能的大国之都,是拥有…

Python 文件读写操作-Python零基础入门教程

目录 一.Python 文件的打开 open二.Python 文件的关闭 close三.Python 文件的读取 read 1.read 函数2.readline 函数3.readlines 函数 四.Python 文件的写入 write 1.write 函数语法2.write 函数使用案例 五.Python 文件偏移 seek 1.seek 函数2.tell 函数3.seek / tell 函数示…

面趣 | 为什么要分稳定排序和非稳定排序?

作者channingbreeze如需转载,请联系原作者。小史是一个应届生,虽然学的是电子专业,但是自己业余时间看了很多互联网与编程方面的书,一心想进BAT互联网公司。今天他去了一家互联网小巨头公司面试了。没想到面试并不像想象中的顺利。…

个人求职简历计算机应用技术学院信息门户,计算机应用技术专业求职简历范文...

计算机应用技术专业求职简历范文应届毕业生求职网为毕业生推荐的是计算机方面的简历范文,欢迎阅读浏览:姓名:yjbys 性别:出生年月: 民族:户口所在地: 现居住地:婚姻状况:…

云漫圈 | AR VR傻傻分不清楚。。。

原文出自【烹茶十一】对此,你是不是也有好多吐槽的,来聊聊呀~~推荐阅读这届程序员,要做好苦日子的准备了?我跟OpenStack 1-8年,从ABC到HI、到KO完01微 信 群 添加小编微信:tangguoyemeng,备注“…

Python 异常处理-Python零基础入门教程

目录 一.Python 异常处理简介二.Python 异常捕获方式 1.捕获所有异常2.捕获指定异常3.捕获多个异常4.万能的异常捕获5.异常中的 else6.异常中的 finally7.raise 主动触发异常 三.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 在 Python 开…

解析微服务架构组件,看这一篇文章就够

1. 如何发布和引用服务服务描述:服务调用首先解决的问题就是服务如何对外描述。 常用的服务描述方式包括 RESTful API、XML 配置以及 IDL 文件三种。RESTful API主要被用作 HTTP 或者 HTTPS 协议的接口定义,即使在非微服务架构体系下,也被广泛…

学计算机高中选那三科,女生高中选哪三科最吃香

女生高中选哪三科最吃香2020-12-30 14:42:19文/丁雪竹女生高中选哪三科最吃香,怎么选择好,小编整理了相关信息,来看一下!女生高中选哪三科最吃香兴趣能够决定学习的深度,女生只要根据自己的兴趣,在最佳组合…

CTF-杂项题-伪加密

手动分离压缩包注意: zip压缩包文件头格式为504B0304,之间包含504B0102,文件以504B0506****结尾,注意这类格式。 zip伪加密 zip伪加密是在文件头的加密标志位做修改,进而再打开文件时识被别为加密压缩包。但实际是没有…