note10 高阶函数

原创 2016年05月31日 14:18:36

1、函数可以直接赋值给变量,变量可以指向函数

>>>f = abs
>>>f(-10)
10

2、函数名其实就是指向函数的变量,可以把函数名看作变量

3、一个函数可以接收另一个函数作为参数,这种函数称之为高阶函数

4、map()函数接收两个参数,一个是函数,一个是iterable,map()将传入的函数依次作用到序列的每个元素,然后把新结果作为新的iterator返回

也就是一堆定义值返回一堆函数值

>>>def f(x)
...        return x*x
...
>>> r = map(f,[1,2,3,4,5,6,7,8,9])
>>>list(r)
[1,4,9,16,25.....]

5、map类似于群攻

>>> list(map(str,[1,2,3,4,5,6,7,8,9]))

['1','2','3','4'.......]

6、reduce函数()把一个函数作用在一个序列上,reduce把结果和序列的下一个元素做累计计算

>>> from functools import reduce
>>> def add(x, y):
...     return x + y
...
>>> reduce(add, [1, 3, 5, 7, 9])
25
也可以用sum(),如果想把序列换成整数13579,reduce就非常方便

>>> from functools import reduce
>>> def fn(x, y):
...     return x * 10 + y
...
>>> reduce(fn, [1, 3, 5, 7, 9])
13579






版权声明:本文为博主原创文章,未经博主允许不得转载。

python_笔记10_高阶函数

#coding:utf-8 def add(x,y,fun): return fun(x)+fun(y) print add(-4,5,abs) map()是 Python 内置的高阶函数,它...

常用高阶函数:转换

  • 2017年06月09日 14:00
  • 93KB
  • 下载

iOS10推送必看(高阶1)

原文出处: 徐不同    虽然这篇文章比较长,也不好理解,但是还是建议大家收藏,以后用到的时候,可以看看,有耐心的还是读一读。 这篇文章开始,我会跟大家好好讲讲,苹果新发布的iOS10...

SE高阶(10):类加载机制—类加载器、类初始化和URLClassLoader

说到类加载就必须得了解JVM(虚拟机)的作用,我们使用eclipse或者命令行调用命令javac.exe运行一个Java程序时,系统会启动虚拟机来加载类,然后运行在虚拟机进程中。加载类的过程的就是类加...

常用高阶函数:标准库函数

  • 2017年06月09日 13:58
  • 76KB
  • 下载

Haskell笔记 (五) 高阶函数

了解高阶函数 高阶函数是Haskell的重要性质,同时也是所有函数式语言的共同性质,高阶函数实际上就是函数的函数,就是把某个函数作为另一个函数的参数的形式,就是高阶函数。 还是来看个例子吧, ...
  • ygrx
  • ygrx
  • 2013年07月16日 08:54
  • 2521

【SICP归纳】2 高阶函数和数据抽象

上一篇博文对应的是书中的第一章的一二两节,我们已经大致的有了一种构造的感觉不是么。书中展示了很多有趣的句法(syntax)。现在我们要让思想进一步的抽象,写这篇博客的时候并未学完整本书,更不敢说对书中...
  • NoMasp
  • NoMasp
  • 2015年03月14日 15:35
  • 7385

2017.6.27 python学习 高阶函数

def hello(name): print ('hello',name) def word(name): print ('Word',name)1.变量可以指向函数h = hello...

Kotlin基础 9 - 高阶函数

高阶函数的基本概念 1.传入或者返回函数的函数 2.函数引用 ::println 3.带有Receiver的引用 pdfPrinter:println fun main(args: ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:note10 高阶函数
举报原因:
原因补充:

(最多只允许输入30个字)