python之lambda函数/表达式[通俗易懂]

python之lambda函数/表达式[通俗易懂]lambda函数也叫匿名函数,允许快速定义单行函数。通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用,也就是指匿名函数。格式lambda与def的区别1)def创建的方法是有名称的

大家好,又见面了,我是你们的朋友全栈君。

lambda函数也叫匿名函数,允许快速定义单行函数。通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用,也就是指匿名函数。

格式

lambda argument_list: expression

lambda与def的区别

1)def创建的方法是有名称的,而lambda没有;
2)lambda会返回一个函数对象,但这个对象不会赋给一个标志符,而def则会把函数对象赋值给一个变量(函数名);
3)lambda只是一个表达式,而def是一个语句;
4)lambda表达式“:”后面只能有一个表达式,而def则可以有多个;
5)if、for、print等语句不能用于lambda中;
6)lambda一般用于定义简单的函数;
7)lambda函数不能共享给别的程序调用;

lambda使用

1、应用在函数式编程中

Python提供了很多函数式编程的特性,如:map、reduce、filter、sored等函数都支持函数做为参数,lambda函数就可以应用在函数式编程中。

# 需求:将列表中的元素按照绝对值大小进行升序排列
list1 = [3,5,-4,-1,0,-2,-6]
sorted(list1, key=lambda x: abs(x))

2、应用在闭包中

如果在一个函数的内部定义了另一个函数,外部的我们叫他外函数,内部的我们叫他内函数。

闭包:在一个外函数中定义了一个内函数,内函数里运用了外函数的临时变量,并且外函数的返回值是内函数的引用。这样就构成了一个闭包。

def get_y(a,b):
     return lambda x:a*x+b
y1 = get_y(2,1)
y1(2) # 结果为5
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/155933.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • spring整合log4j_spring整合log4j

    spring整合log4j_spring整合log4j常用日志框架log4j、log4j2(log4j的升级版,最常用的)、logback(spring boot默认)、Jboss-logging…等slf4 是日志接口规范,代码对接slf4,实现和具体日志框架解耦,无需修改编码即可切换日志框架。修改pom依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-st

    2022年8月9日
    7
  • leetcode -1864. 构成交替字符串需要的最小交换次数[通俗易懂]

    leetcode -1864. 构成交替字符串需要的最小交换次数[通俗易懂]给你一个二进制字符串 s ,现需要将其转化为一个 交替字符串 。请你计算并返回转化所需的 最小 字符交换次数,如果无法完成转化,返回 -1 。交替字符串 是指:相邻字符之间不存在相等情况的字符串。例如,字符串 “010” 和 “1010” 属于交替字符串,但 “0100” 不是。任意两个字符都可以进行交换,不必相邻 。示例 1:输入:s = “111000”输出:1解释:交换位置 1 和 4:”111000″ -> “101010” ,字符串变为交替字符串。示例 2:输入:s =

    2022年8月11日
    8
  • 活点地图

    去年这个时候,我开始做活点地图APP,用了二十几天的时间完成,发布到了各大应用市场,从产品构思到UI设计和代码实现都是一个人完成,可能产品定位也没有考虑太清楚,尝鲜的人很多,但是留存率比较低,

    2022年3月11日
    81
  • Git提交(PUSH)时记住密码 – 不用每次都输入密码

    Git提交(PUSH)时记住密码 – 不用每次都输入密码

    2022年2月8日
    43
  • linux强制删除只读文件夹,强制删除文件夹linux的方法是什么

    linux强制删除只读文件夹,强制删除文件夹linux的方法是什么灰烬里等你丶回答数:14479|被采纳数:22016-12-1714:18:36linux下删除文件的命令是rm;以下分两种介绍删除方法:对于目录文件的删除:#rf-rffilename对于非目录文件的删除:#rffilename之所以对于目录文件的删除加上了强制参数是因为在linux对目录文件的删除是递归式的;rm的参数如下所示:OPTIONSRemove(unlink)t…

    2022年6月13日
    37
  • 金融风控领域算法比赛经验分享——翼支付杯大数据建模大赛-季军方案[通俗易懂]

    金融风控领域算法比赛经验分享——翼支付杯大数据建模大赛-季军方案[通俗易懂]转载:链接:[link](https://blog.csdn.net/weixin_45966291/article/details/109819437).这是我队友的详细介绍,欢迎交流caohuan8@mail.ustc.edu.cn

    2022年5月27日
    40

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号