Python(十)lambada表达式
一、Lambda 表达式
概念:是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda abstraction),是一个匿名函数,即没有函数名的函数。Lambda表达式可以表示闭包。
原因:函数名并没有实际的意义,为了简便,所以推出了lambada表达式的语法糖!
注意:与其它语言不同,Python的Lambda表达式的函数体只能有单独的一条语句,也就是返回值表达式语句!
理解:匿名函数的等价形式来理解lambada表达式!
注:虽然看着很先进,其实Lambda表达式的本质只是一个"语法糖",由编译器帮你转换包装为常规的代码,因此你可以使用更少的代码来实现同样的功能。建议不要乱用,因为这就和某些很高级的黑客写的代码一样,简洁、难懂,、难以调试!
二、语法
<函数对象名> = lambda <形式参数列表>:<表达式>
匿名函数的作用
1.不用命名,直接实现简单功能;但是如果只是"单个调用"的话,还是要命名变量2.让代码更加简洁
三、练习
"""
语法说明:匿名函数的关键字为 lambda冒号前面是 形参;冒号后面是返回值"""
from functools import reduce#(1)累加
# def add(x,y):
# return x+y
# print(reduce(add,range(10)))
print(reduce(lambda x,y:x+y,range(10)))#(2)阶乘
# def mypow(x):
# return x**2
print(list(map(lambda x:x**2,range(5))))#(3)偶数
# def isood(num):
# return num%2 ==0
print(list(filter(lambda x:x%2==0,range(100))))
练习2:高级
# 需求:求阶乘f = lambda func, n: 1 if n == 0 else n * func( func, n - 1 )print(f(f,4)) #24
练习3:无参
t = lambda: Trueprint(t()) #True
Python(十)lambada表达式相关推荐
- python过滤器 lambada表达式 可变元组字典参数**kwargs
#过滤器的使用,判断是否是回文数字 #filter()的作用是从一个序列中筛出符合条件的元素.由于filter()使用了惰性计算,所以只有在取filter()结果的时候,才会真正筛选并每次返回下一个筛 ...
- 第十节 Java工具包-Collections 流--lambada表达式
collection为核心的接口,包含了多种不同类型的集合以及多种不同数据结构的实现的类 list set queue都是在collection接口下的所以都有.add()方法 package c ...
- Python十大装腔语法
作者 | 许向武 责编 | 郭芮 来源 | CSDN 博客 Python 是一种代表简单思想的语言,其语法相对简单,很容易上手.不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了.本文 ...
- python新手教程 从零开始-Python零基础从零开始学习Python十分钟快速入门
原标题:Python零基础从零开始学习Python十分钟快速入门 学习Python的,都知道Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言.Python是一种动态解释型的 ...
- python十大装b语法_Python 十大语法
前言 Python 是一种代表简单思想的语言,其语法相对简单,很容易上手.不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了.本文精心筛选了最能展现 Python 语法之精妙的十个知识 ...
- 自学python编程免费教程-Python十分钟入门 自学python基础教程送你参考
python十分钟入门.简介Python是一种动态解释型的编程语言.Python可以在Windows.UNIX.MAC等多种操作系统上使用,也可以在Java..NET开发平台上使用. 特点 1 Pyt ...
- [转载] Python十大装B语法
参考链接: Python中的函数装饰器1(简介) Python 是一种代表简单思想的语言,其语法相对简单,很容易上手.不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了.本文精心筛选了 ...
- Python十大装B语法(上)
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手.不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了.本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并 ...
- python十大语言_Python 语言之十大语法
Python 是一种代表简单思想的语言,本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码.如能在实战中融会贯通.灵活使用. 01 for - else什么?不是 if ...
最新文章
- 谷歌正在测试一个人工智能系统,帮助视障人士参加跑步比赛
- 计算机本科211调剂到双非值得吗,经验分享:从双非到211,调剂是场快准狠的战役...
- linux存储--进程栈 线程栈 内核栈 中断栈(十六)
- 【LeetCode】128. 最长连续序列
- 【笔记】二叉树递归算法和非递归算法的实现 先序/中序/后续遍历 打印结点以及顺序数 构造二叉树
- hibernate连接mysql配置文件 分享
- HALCON示例程序measure_ring.hdev齿轮齿宽度测量
- 图嵌入综述 (arxiv 1709.07604) 译文五、六、七
- java上传组件_java上传组件FileUpload
- Spring Boot开发Web应用
- 阶乘数码(洛谷P1591题题解,Java语言描述)
- springboot秒杀课程学习整理1-1
- 色差仪软件的安装和电池充电
- Linux基础——为什么要学Linux?
- PHP语言的RSA算法加解密程序
- ffmpeg rtmp 不清晰_SRS流媒体服务器之RTMP协议分析(2)
- Helix QAC所提供的四种抑制方式
- 【WEB】web www http html hypermedia hypertext 技术名词的意思
- 跟踪信号发生器理论与操作
- orcad 连mysql_如何在OrCAD中建立电气互连
热门文章
- java树莓派温度传感器_怎样使用树莓派读取传感器上的温度和湿度
- 计算机总是提示网络电缆没有插,网络电缆没有插好原因与解决方法【图文教程】...
- Firebase使用总结(早期)
- java swing 总结_对Java 中Swing的小总结
- 《松本行弘的程序世界》浅读笔记
- 百度地图 -- 鼠标绘制工具DrawingManager
- 【LiteOS】华为LiteOS开发初体验
- let 连续复制_要在Word中使用“格式刷”对同一个格式进行多次复制时,应先用鼠标()。...
- 预编译及预处理的理解
- Learning to Rank系列之Pointwise方法