lambda

1,用于处理简单逻辑

2,自动返回数据(return)

单参数

>>> func2 = lambda a: a+1
>>> result = func2(1000)
>>> print result
1001

多参数

>>> func3 = lambda a,b: a+b
>>> result = func3(1000,888)
>>> result
1888

map

我们先看map。map()函数接收两个参数,一个是函数,一个是Iterablemap将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回。

>>> def f(x):
... return x*x
...
>>> map(f,[1,2,3])
[1, 4, 9]

也可以传递两个列表

>>> l1
[11, 22, 33]
>>> l2
[11, 22, 33]

>>> def func2(a1,a2):
... return a1 + a2
...
>>> map (func2,l1,l2)
[22, 44, 66]

filter

map()类似,filter()也接收一个函数和一个序列。和map()不同的是,filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。

例如,在一个list中,删掉偶数,只保留奇数,可以这么写:

>>> def is_odd(n):
... return n % 2 == 1
...
>>> filter(is_odd,[1,2,4,5,6,9,10,15])
[1, 5, 9, 15]

reduce

对于序列内的所有元素进行累计操作

>>> li = [11,22,33]
>>> result = reduce(lambda arg1,arg2:arg1 + arg2,li)
>>> print result
66

yield

用来记住上一次操作,下次再执行时继续执行

函数内,ruturen,函数执行完毕 把return换成yield

vim day4-6.py

#!/usr/bin/python
# -*- coding:utf-8 -*-
def func1():
return 1
print func1()

执行返回为1

修改代码

#!/usr/bin/python
# -*- coding:utf-8 -*-
def func1():
yield 1
yield 2
yield 4
print func1()

  返回为

<generator object func1 at 0x7fc4b1ab0780>

修改代码

#!/usr/bin/python
# -*- coding:utf-8 -*-
def func1():
yield 1
yield 2
yield 4
for i in func1():
print i

  返回为1 2 4

使用了迭代返回

使用yield模拟xrange功能

vim day4-7.py

#!/usr/bin/python
# -*- coding:utf-8 -*-
def mrange(arg):
seed = 0
while seed <= arg-1:
seed = seed + 1
yield seed - 1 for i in mrange(10):
print i

reduce的基数概念

li=[1,2,3,4,5,6,7,8,9,10]
>>> result = reduce(lambda arg1,arg2:arg1 + arg2,li )
>>> print result
55
>>> result = reduce(lambda arg1,arg2:arg1 + arg2,li,1000 )
>>> print result
1055

小结

map 所有元素操作

filter 过滤,获取指定元素计划

reduce累积

装饰器

装饰器是函数,只不过该函数可以具有特殊的含义,装饰器用来装饰函数或者类,使用装饰器可以在函数执行前执行后添加相应操作

Python函数之lambda,内置函数,yield生成器等的更多相关文章

  1. python day5 lambda,内置函数,文件操作,冒泡排序以及装饰器

    目录 python day 5 1. 匿名函数lambda 2. python的内置函数 3. python文件操作 4. 递归函数 5. 冒泡排序 6. 装饰器 python day 5 2019/ ...

  2. python中常见的内置函数

    map #自定义map函数 def map_test(func, list): res = [] for item in list: res.append(func(item)) return res ...

  3. Python装饰器及内置函数

    装饰器 听名字应该知道这是一个装饰的东西,我们今天就来讲解一下装饰器,有的铁子们应该听说,有的没有听说过.没有关系我告诉你们这是一个很神奇的东西 这个有多神奇呢? 我们先来复习一下闭包 def fun ...

  4. Python标准库:内置函数hasattr(object, name)

    Python标准库:内置函数hasattr(object, name) 本函数是用来判断对象object的属性(name表示)是否存在.如果属性(name表示)存在,则返回True,否则返回False ...

  5. python 函数 装饰器 内置函数

    函数 装饰器 内置函数 一.命名空间和作用域 二.装饰器 1.无参数 2.函数有参数 3.函数动态参数 4.装饰器参数 三.内置函数 salaries={ 'egon':3000, 'alex':10 ...

  6. python的68个内置函数

    内置函数 内置函数就是python给你提供的, 拿来直接用的函数, 比如print., input等. 截止到python版本3.6.2 python一共提供了68个内置函数. #68个内置函数 # ...

  7. python中68个内置函数的总结

    内置函数 内置函数就是python给你提供的, 拿来直接用的函数, 比如print., input等. 截止到python版本3.6.2 python一共提供了68个内置函数. #68个内置函数 # ...

  8. python字符串——"奇葩“的内置函数

      一.前言 python编程语言里的字符串与我们初期所学的c语言内的字符串还是有一定不同的,比如python字符串里的内置函数就比语言的要多得多:字符串内的书写格式也会有一点差异,例:字符串内含有引 ...

  9. python 类(object)的内置函数

    python 类(object)的内置函数 # python 类(object)的内置函数 ### 首先 #### 以__双下划线开头的内置函数 __ #### __往往会在某些时候被自动调用,例如之 ...

随机推荐

  1. 一步步教你使用rem适配不同屏幕的移动设备

    1.先说说几个前端常用的几个单位的概论: 1.px (pixel,像素):是一个虚拟长度单位,是计算机系统的数字化图像长度单位,如果px要换算成物理长度,需要指定精度DPI(Dots Per Inch ...

  2. 【C语言】模拟实现printf函数(可变参数)

    一.printf函数介绍 printf功能 printf函数是格式化输出函数,一般用于向标准输出设备按规定格式输出信息. printf原型 int printf( const char* format ...

  3. PHP获得文件创建、修改、访问时间 filectime() filemtime() fileatime()

    转载博客 零度_PHP的博客   http://blog.sina.com.cn/s/blog_8edc37a801016hk1.html PHP获得文件创建.修改.访问时间 PHP filectim ...

  4. 老李谈JVM内存模型

    老李谈JVM内存模型   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:908821478,咨 ...

  5. 解析新浪微博表情包的一套js代码

    本文出自本人原创,转载请注明出处 /** * Created by Lemon on 2017/4/6. *//** * return 解析后的值 * analysis 参数 * obj.value: ...

  6. SQL使用视图的优缺点

    视图是为了查询方便!也就是多个表的总结!但是不能对视图增删改! 在做数据库开发中使用视图的优点有: 1.视图的好处就是在你做复杂的查询逻辑时可以简化你的思考过程. 2.用视图可以隐藏一定的信息,用过滤 ...

  7. html的常用基础应用

    HTML结构   如下一段最简单的HTML代码:<html>     <head>          <title>HTML页面</title>     ...

  8. JS前端数据格式化

    当我们从后台取了数据,但是我们希望在前台统一显示格式时,我们可能需要格式化数据. 今天正好总结一下前端JS格式化数据的几个方法: 1. toFixed() 方法   可把 Number 四舍五入为指定 ...

  9. Spring Boot 配置文件 – 在坑中实践

    摘要: 原创出处 www.bysocket.com 「泥瓦匠BYSocket 」欢迎转载,保留摘要,谢谢!   『 仓廪实而知礼节,衣食足而知荣辱 - 管仲 』   本文提纲 一.自动配置 二.自定义 ...

  10. 【STL】reverse函数用法

    reverse函数的功能是反转排序一个容器中指定元素的内容. 函数参数:reverse(first,last), 其中first,last分别指向被反转序列中初始及末尾位置的双向迭代器(Bidirec ...