内容来自雪峰的官方网站。

1、把listdictstrIterable变成Iterator可以使用iter()函数

>>> L = iter([1, 2, 3, 4, 5, 7])
>>> L
<list_iterator object at 0x000002014FB66160>
>>> next(L)
1
>>> next(L)
2
>>> next(L)
3
>>> next(L)
4
>>> next(L)
5
>>> next(L)
7
>>> next(L)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
StopIteration

2、Iterator的计算是惰性的,只有在需要返回下一个数据时它才会计算。

Iterator甚至可以表示一个无限大的数据流,例如全体自然数。而使用list是永远不可能存储全体自然数的。

3、函数式编程就是一种抽象程度很高的编程范式,纯粹的函数式编程语言编写的函数没有变量。

4、把函数作为参数传入,这样的函数称为高阶函数,函数式编程就是指这种高度抽象的编程范式。

>>> def add(a, b, f):
... return f(a) + f(b)
...
>>> add(-3, -4, abs)
7

 

5、高阶函数是把函数看成对象,可以传入,还可以返回一个动态创建的函数。

pyDay13的更多相关文章

  1. py-day1-3 python基本数据类型

    数据的基本类型: 数字:

随机推荐

  1. lodash(一)数组

    前言: lodash是一个具有一致接口.模块化.高性能等特性的JavaScript工具库(官网地址:http://lodashjs.com/docs/#_differencearray-values) ...

  2. 如何配置samba 要求共享文件夹public

    第一步:在根下执行:mkdir /public 修改下权限:chmod 777 /public第二步:vi /etc/samba/smb.conf修改如下配置:修改security = user为se ...

  3. 使用JS播放声音——SoundManager 2

    <!DOCTYPE html> <html> <head> <meta charset=utf-8 /> <title>SoundDemo& ...

  4. ubuntu 14.04 返回到经典桌面方法

    1.打开终端,运行下面命令:sudo apt-get install gnome-session-fallback 2.重启机器,选择gnome,然后登录

  5. Eclipse '<>' operator is not allowed for source level below 1.7

    '<>' operator is not allowed for source level below 1.7 解决方法:

  6. handlebars的使用

    web 开发中,js 解析JSON 是经常的事情.非常繁琐.handlebars 使用了模版,只要你定义一个模版,提供一个json对象,handlebars 就能吧json对象放到你定的模版中 htm ...

  7. Android中集成QQ登陆和QQ好友分享及QQ空间分享

    extends : http://blog.csdn.net/arjinmc/article/details/38439957 相关官方文档及下载地址: 如果只用分享和登陆,用lite包就可以,体积小 ...

  8. 神奇的随机数rand()

    随机数在统计理论中占有很重要的地位,很多应用都需要用到他,系统自带的rand()函数产生的是伪随机数,所以该如何真正的随机数呢? 1.c语言中的时间函数 关于c语言我查到的两个比较好的博文是:http ...

  9. Linq初探

    1.什么是LINQ LINQ是语言集成查询(Language Integrated Query),这项技术是在.net 3.5就已经引入的技术,极大的方便了数据的查询,他可以支持数据库.XML.ADO ...

  10. SpringCloud 进阶之分布式配置中心(SpringCloud Config)

    1. SpringCloud Config SpringCLoud Config 为微服务架构中的微服务提供集中化的外部配置支持,配置服务器为各个不同微服务应用 的所有环境提供了一个中心化的外部配置; ...