python 基础 学习 lambda

Lambda表达式

匿名函数

-lamdba函数是一种快速定义单行的最小函数,是从Lisp借用来的,可以用在任何需要函数的地方。

例子:

函数:

                >>> def fun(x,y):
                ...     return x*y
                ... 
                >>> fun(23,2)
                46
                lambda

lambda x,y:x*y

#lambda 函数; x第一个参数,y第二个参数 ;x*y操作类型;
如果使用函数返回的对象,还需要一个接受的变量
>>> a=lambda x,y:x*y
>>> a(2,3)6

优势:

使用python编写一些执行脚本时,lambda可以省去定义函数的过程,让代码更加精简。

对于抽象,不需要复用的函数,定义名称时比较困难,使用lambda不需要考虑名称的命名;

使用lambda 可以让代码更加容易理解;

lambda 基础

lambda  语句中,冒号前是参数,可以用多个,用逗号分隔,冒号右边是返回值。

lambda 语句构建的其实是一个函数对象;;

>>> lambda x,y:x*y
<function <lambda> at 0x7f9bed0d3578>
>>> a=lambda x,y:x*y
>>> a
<function <lambda> at 0x7f9bed0e58c0>
>>> a(2,2)
4

lambda应用实例:

reduce 为逐次操作list里的每项,接受的参数为2个,最后返回的为一个结果

乘积
>>> l=range(1,6)
>>> l
[1, 2, 3, 4, 5]
>>> def f(x,y):
...     return x*y
... 
>>> reduce (f,l)   #将函数f,作用于l序列
120
转换
>>> f=lambda x,y:x*y
>>> reduce (f,l)
120
>>> reduce(lambda x,y:x*y,l)  #l列表
120
>>>
时间: 2024-11-08 22:50:52

python 基础 学习 lambda的相关文章

python基础学习09(核心编程第二版)部分

# -*- coding: utf-8 -*- # ==================== #File: python #Author: python #Date: 2014 #==================== __author__ = 'Administrator' #什么是函数 #就是引用,创建,使用 #例子 def foo(): print '233' foo() #返回与函数类型 def foo1():#是一个过程 print 'hello world!' foo1() foo

python基础学习11(核心编程第二版)部分

# -*- coding: utf-8 -*- # ==================== #File: python #Author: python #Date: 2014 #==================== __author__ = 'Administrator' #执行环境 #可调用对象 """ 许多的python 对象都是我们所说的可调用的,即是任何能通过函数操作符“()”来调用的对象.要调用可调用对象, 函数操作符得紧跟在可调用对象之后.Python 有4

Python基础学习 总结篇

Python基础学习总结 先附上所有的章节: Python学习(一)安装.环境配置及IDE推荐 Python学习(二)Python 简介 Python学习(三)流程控制 Python学习(四)数据结构(概要) Python学习(四)数据结构 —— int float Python学习(四)数据结构 —— str Python学习(四)数据结构 —— bool Python学习(四)数据结构 —— list tuple range Python学习(四)数据结构 —— set frozenset

python基础学习日志day5-各模块文章导航

python基础学习日志day5---模块使用 http://www.cnblogs.com/lixiang1013/p/6832475.html python基础学习日志day5---time和datetime模块 http://www.cnblogs.com/lixiang1013/p/6848245.html python基础学习日志day5---random模块http://www.cnblogs.com/lixiang1013/p/6849162.html python基础学习日志da

Python 基础学习 网络小爬虫

<span style="font-size:18px;"># # 百度贴吧图片网络小爬虫 # import re import urllib def getHtml(url): page = urllib.urlopen(url) html = page.read() return html def getImg(html): reg = r'src="(.+?\.jpg)" pic_ext' imgre = re.compile(reg) imgli

python基础学习05(核心编程第二版)部分

# -*- coding: utf-8 -*- # ==================== #File: python #Author: python #Date: 2014 #==================== __author__ = 'Administrator' #dict{键:值} #哈希 #注:字典是无顺序的,所以你懂的 #创建与赋值 dict1={} dict2={'name':'apply','avg':24,'sex':'man'} print dict1,dict2

Python基础学习(九)

Python 多线程 多线程类似于同时执行多个不同程序,多线程运行有如下优点: 使用线程可以把占据长时间的程序中的任务放到后台去处理. 用户界面可以更加吸引人,这样比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度 程序的运行速度可能加快 在一些等待的任务实现上如用户输入.文件读写和网络收发数据等,线程就比较有用了.在这种情况下我们可以释放一些珍贵的资源如内存占用等等. 线程在执行过程中与进程还是有区别的.每个独立的线程有一个程序运行的入口.顺序执行序列和程序的出口.

python基础学习07(核心编程第二版)部分

# -*- coding: utf-8 -*- # ==================== #File: python #Author: python #Date: 2014 #==================== __author__ = 'Administrator' #file与input output #文件对象 #简单说来,就是写入和读取的方式 #file(),open()2个操作都是一样的,一般推荐open() #语法 # open(name[, mode[, bufferin

python基础学习08(核心编程第二版)部分

# -*- coding: utf-8 -*- # ==================== #File: python #Author: python #Date: 2014 #==================== __author__ = 'Administrator' #异常 """ NameError: 尝试访问一个未申明的变量 ZeroDivisionError:  除数为零 SyntaxError: 解释器语法错误 IndexError: 请求的索引超出序列范