[2015-08-07] python018
来源:互联网 发布:ubuntu 挂载命令 编辑:程序博客网 时间:2024/05/22 17:15
匿名函数lambda
lambda args:expressionf1 = lambda x,y : x+y args:以逗号分隔的参数列表expression:用到args中各参数的表达式
- lambda语句定义的代码必须是合法的表达式,不能出现多条件语句(可使用if的三元表达式)和其他非表达式语句,如for和while等
- lamda的首要用途是指定短小的回调函数
- lambda将返回一个函数而不是将函数赋值给某变量名
- 注意:
lambda是一个表达式而非语句
lambda是一个单个表达式,而不是一个代码块 - def语句创建的函数将赋值给某变量名,而lambda表达式则直接返回函数
- lambda也支持使用默认参数
-
Python函数式编程
函数式编程:
- 也称作泛函编程,是一种编程规范
- 它将电脑运算视为数学上的函数计算,并且避免状态以及可变数据
- 函数式编程语言最重要的基础是lambda演算,而且lambda演算的函数可以接受函数当作输入和输出
Python支持有限的函数式编程功能:
过滤器 filter(func,seq)
- filter()为已知的序列的每个元素调用给定的布尔函数
- 调用中,返回值为非零值的元素将被添加至一个列表中
映射器 map(func,seq1[,seq2…])
- map()将函数调用“映射”到每个序列的对应元素上并返回一个含有所有返回值的列表
折叠 reduce(func,seq[,init])
- 将二元函数作用域seq序列的元素,每次携带一对(先前的结果以及下一个序列元素),连续地将现有的结果和下一个值作用在获得的随后的结果上,最后减少我们的序列为一个单一的返回值;如果初始值init给定,第一个比较会是init和第一个序列元素而不是序列的头两个元素
0 0
- [2015-08-07] python018
- python018 Python3 输入和输出
- Android开发笔记-2015-07-08
- 03-07-2015——03-08-2015
- [2015-08-08] python019
- hdoj.1293 The Number of Paths【大数+排列组合】 2015/08/07
- 小白学开发(iOS)OC_ 使用继承来扩充类(2015-08-07)
- 2005-07-08
- 05/08/07
- 06/07/08
- 07-03-08
- 08-07-16
- 2010-08-07
- 10 08 07 学习
- 2012-07-08
- 2012-07-08-1
- 2012-07-08-2
- 2013-07-08 C_Language
- 简单排队叫号功能实现
- 1.7 模拟器常用操作
- Android Binder理解
- 1.5 Xcode介绍2
- 1.4 Xcode介绍1
- [2015-08-07] python018
- mvc--简单传值问题
- hdoj 1711 Number Sequence 【KMP】
- Leetcode: Count Complete Tree Nodes
- 1.3 Hello World
- #第二周1004结题报告#
- 循环赛日程表 分治法
- java中的数据类型
- 1.2 iOS平台开发限制和方式