Python Lambda 的简单用法
下面代码简单举例介绍以下 lambda的用法。
from functools import reduce #1 python lambda会创建一个函数对象,但不会把这个函数对象赋给一个标识符,而def则会把函数对象赋值给一个变量。
#2 python lambda它只是一个表达式,而def则是一个语句。
#匿名函数lambda
num = lambda x,y : x+y print("lambda")
print(num(3,4)) #上面的代码可以使用 def 定义函数实现 def add(x,y):
return x+y
print("def")
print(add(3,4)) '''
由上例可以看出
lambda的一般形式是关键字lambda后面跟一个或多个参数,
紧跟一个冒号,以后是一个表达式。
lambda是一个表达式而不是一个语句。
它能够出现在Python语法不允许def出现的地方。作为表达式,
lambda返回一个值(即一个新的函数)。
lambda用来编写简单的函数,而def用来处理更强大的任务。 ''' #lambda 使用举例
#python2 的用法
'''
#python2 是如下写法,但是python 3中修改了写法。见如下写法
foo = [2, 18, 9, 22, 17, 24, 8, 12, 27] #
print(filter(lambda x: x % 3 == 0, foo))
#--[18, 9, 24, 12, 27]
map_list = list()
print(map(lambda x: x * 2 + 10, foo))
#--[14, 46, 28, 54, 44, 58, 26, 34, 64]
print(reduce(lambda x, y: x + y, foo))
''' #python 3 的用法
#Python中,也有几个定义好的全局函数方便使用的,filter, map, reduce foo = [2, 18, 9, 22, 17, 24, 8, 12, 27]
num_list = list(filter(lambda x: x % 3 == 0, foo))
print(num_list)
#--[18, 9, 24, 12, 27]
map_list = list(map(lambda x: x * 2 + 10, foo))
print(map_list)
#--[14, 46, 28, 54, 44, 58, 26, 34, 64] '''
reduce函数:
在Python 3里,reduce()函数已经被从全局名字空间里移除了,它现在被放置在fucntools模块里 用的话要 先引
入:
'''
print(reduce(lambda x, y: x + y, foo)) # 下面的代码主要是为了 体现lambda 的其他用法,可以传递参数。而不使用的时候 不能传递参数 # Button(top, text="计算", command=lambda: on_click(top, base_text)).pack()
# top.mainloop() # 这种 直接command = 方法名的方式,函数是不能传递参数的,所以为了能传递参数使用了上面的方法。
# Button(top, text="计算", command= on_click).pack()
Python Lambda 的简单用法的更多相关文章
- python lambda表达式简单用法【转】
python lambda表达式简单用法 1.lambda是什么? 看个例子: g = lambda x:x+1 看一下执行的结果: g(1) >>>2 g(2) >>& ...
- python lambda表达式简单用法
习条件运算时,对于简单的 if else 语句,可以使用三元运算来表示,即: 1 2 3 4 5 6 7 8 # 普通条件语句 if 1 == 1: name = 'wupeiqi' else ...
- python timeit模块简单用法
timeit模块提供了一种简便的方法来为Python中的小块代码进行计时. 模块调用函数,stmp为要测试的函数,setup为测试环境,number为运行次数 timeit.timeit(stmt=) ...
- python lambda匿名函数 用法
语法 lambda argument_list: expression argument_list是参数列表 expression是一个关于参数的表达式.表达式中出现的参数需要在argument_li ...
- python,os.path简单用法
#首先导入os包 import os#引入time模块是因为需要将浮点型的时间转为东八区时间 import time # basename(path),去掉路径名称,单独返回文件名 f = os.pa ...
- [Python]字典的简单用法
Python中的字典与现实中字典类似,从字典中可以找到“鱼”字:鱼类是体被骨鳞.以鳃呼吸.通过尾部和躯干部的摆动以及鳍的协调作用游泳和凭上下颌摄食的变温水生脊椎动物.类比到Python的字典中,把“鱼 ...
- python 虚拟环境 venv 简单用法
Python3.3以上的版本通过venv模块原生支持虚拟环境,可以代替Python之前的virtualenv.该venv模块提供了创建轻量级“虚拟环境”,提供与系统Python的隔离支持.每一个虚拟环 ...
- Python - Django - Cookie 简单用法
home.html: <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...
- python模块turtle简单用法
##初始化turtle:t = turtle.Turtle() 或者 t = turtle.Pen()##查询turtle状态#位置t.position() #箭头朝向,箭头朝向按照顺时针或者逆时针偏 ...
随机推荐
- 1.使用Fiddler进行接口测试
1.Fiddler既可以用来抓包数据,亦可以进行接口测试.(可参考我的另一篇博客:https://www.cnblogs.com/android-it/p/9523548.html 进行接口的编写) ...
- 程序4-2 access函数实例
//http://blog.chinaunix.net/uid-24549279-id-71355.html /* ========================================== ...
- Linux环境抓包命令
有时候有些接口调用问题不好定位或者日志不够详细,那么我们往往会选择通过抓包来看详细的通讯过程.抓包有相关软件,这里说如何直接在环境里抓.假如现在我们在 Linux 下部署了 Tomcat 服务器,端口 ...
- rbenv配置
git clone https://github.com/rbenv/rbenv.git ~/.rbenv # 用来编译安装 ruby git clone git://github.com/sstep ...
- yii console
Here is a step by step to show how to run command in the server with yii framework. 1. Create the we ...
- 工具软件集合 Adobe AE PS Pr CC 2018 2019 破解教程
来源https://mp.weixin.qq.com/s/zeq1sTmaPsKt7Bsok0Ldrg(若链接失效,请关注软件安装管家公众号) 相关链接 Office 2019破解教程 Adobe 2 ...
- PHP函数htmlspecialchars_decode
htmlspecialchars_decode() 函数把一些预定义的 HTML 实体转换为字符. <?php $str = "This is some <b>bold&l ...
- 自制html
//$this->_red('账号或密码有误','/student/stureg/add'); echo '<meta http-equiv="Content-Type" ...
- oracle里的查询转换
oracle里的查询转换的作用 Oracle里的查询转换,有称为查询改写,指oracle在执行目标sql时可能会做等价改写,目的是为了更高效的执行目标sql 在10g及其以后的版本中,oracle会对 ...
- (转)Docker - 创建 Docker overlay network (containers 通信)
原文链接: http://www.cnblogs.com/AlanWalkOn/p/6101875.html --- 创建基于Key-Value的Docker overlay network. 这样运 ...