Python lambda表达式
时间:2022-04-26
本文章向大家介绍Python lambda表达式,主要内容包括匿名函数、Python lambda表达式、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
“Lambda 表达式”(lambda expression)是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda abstraction),是一个匿名函数,即没有函数名的函数。Lambda表达式可以表示闭包(注意和数学传统意义上的不同)。 https://baike.baidu.com/item/lambda%E8%A1%A8%E8%BE%BE%E5%BC%8F
匿名函数
在其他语言中,匿名函数就是没有名字的函数: 比如安卓开发常见的给按钮添加单击事件
button.addActionListener(new ActionListener(){ //new ActionListener定义了一个匿名对象
public void actionPerformed(ActionEvent ae){
System.out.println("Actiondetected");
}
});
button.addActionListener(()->{ //没有函数名,用“()->{}”表示匿名函数
System.out.println("Actiondetected");
});
比如JavaScript的闭包
function Circle(r) { //函数 函数名为Circle
this.r = r;
}
Circle.PI = 3.14159;
Circle.prototype.area = function() { //省略函数名 匿名函数
return Circle.PI * this.r * this.r;
}
var c = new Circle(1.0);
alert(c.area()); //3.14159
Python lambda表达式
Python使用lambda表达式用来表示匿名函数,其特点是仅允许有一个表达式,并且默认将表达式的值作为函数的返回值。
>>> L = list(filter(lambda x: x%2 == 1, range(1,11)))
>>> print(L)
[1, 3, 5, 7, 9]
>>>
lambda x: x%2 ==1 #lambda表达式 即 匿名函数 等价于
def isodd(x):
return x%2 ==1 #if(x%2 == 1): return x
匿名函数的优点:
- 简洁方便
- 不用担心与其他函数重名
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- php连接sftp的作用以及实例代码
- redis+php实现微博(一)注册与登录功能详解
- PHP序列化的四种实现办法与横向对比
- php设计模式之观察者模式定义与用法经典示例
- Laravel获取所有的数据库表及结构的方法
- redis+php实现微博(二)发布与关注功能详解
- PHP实现小程序批量通知推送
- Thinkphp5.0 框架Model模型简单用法分析
- php设计模式之单例模式用法经典示例分析
- PHP实现统计代码行数小工具
- redis+php实现微博(三)微博列表功能详解
- php设计模式之工厂模式用法经典实例分析
- laravel 关联关系遍历数组的例子
- PHP开启目录引索+fancyindex漂亮目录浏览带搜索功能
- 解决Laravel 使用insert插入数据,字段created_at为0000的问题