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() #箭头朝向,箭头朝向按照顺时针或者逆时针偏 ...
随机推荐
- 使用Collections类对 集合排序
对Set<Object>集合进行排序 根据类型的某一个属性去排序 public Set<School> sortByValue(Set<School> set){ ...
- HAProxy安装配置用于TCP的负载均衡
HaProxy介绍 Haproxy是一个开源的高性能的反向代理或者说是负载均衡服务软件之一,它支持双机热备.虚拟主机.基于TCP和HTTP应用代理等功能.其配置简单,而且拥有很好的对服务器节点的健康检 ...
- 理解contextmanager
同事在查看网络问题导致虚拟机状态一直pause时,在一段代码(见以下)处产生了疑惑.问我,我也是一头雾水.后同事找到参考文章(1),算是了解了个大概.而我对contextmanager的工作产生了兴趣 ...
- 1111 Online Map
题意:给定一个图,以及起点和终点,需要我们计算两条路径.第1条路径:距离最短路径,若不唯一,则选择用时最短的那一条:第2条路径:用时最少路径,若不唯一,选择经过结点数最少的那一条. 思路:两次Dijk ...
- PHP - Swoole websocket理解
php swoole实现websocket功能 1.确保安装了swoole扩展. 2.撰写服务程序 <?php //创建websocket服务器对象,监听0.0.0.0:9502端口 $ws = ...
- kettle init oracle jdbc
- JS,JQUERY 常用笔记
JSON.parse() 转成数组对象 JSON.stringify() 转成JSON字符串
- Rest Framework 认证源码流程
一.请求到来之后,都要先执行dispatch方法,dispatch方法方法根据请求方式的不同触发get/post/put/delete等方法 注意,APIView中的dispatch方法有很多的功能 ...
- 前端自动化之nvm安装
nvm ——node环境版本控制工具. 1.解压安装包 2.打开setting文件,修改文件内容 root: D:\node\nvm path: D:\node\nodejs arch: proxy: ...
- Money Systems 货币系统(母函数)
Description 母牛们不但创建了他们自己的政府而且选择了建立了自己的货币系统. [In their own rebellious way],,他们对货币的数值感到好奇. 传统地,一个货币系统是 ...