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






版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/rocvfx/article/details/51545358

Note10

指针和引用的区别: (1) 引用总是指向某个确定对象,引用就是对象的别名,定义引用时没有进行初始化会出现编译错误; (2) 赋值行为上存在差异:给引用赋值修改的是该引用所关联的对象的值,而不是使该...
  • myonelotus
  • myonelotus
  • 2017-01-14 18:51:47
  • 282

python进阶一:高阶函数

1、函数式编程:       python特点:不是纯函数式编程(允许变量存在);                               支持高阶函数(可以传入函数作为变量);      ...
  • a353833082
  • a353833082
  • 2015-07-08 15:51:42
  • 3913

高阶函数(一)

高阶函数其实看着挺吓人,不过就是把函数作为参数或者返回值的一类函数而已。其实这样的函数我们都见过很多了...
  • axi295309066
  • axi295309066
  • 2017-09-23 10:16:25
  • 689

函数式编程与高阶函数

map(), filter(), is_prime(x),
  • JeroldLi
  • JeroldLi
  • 2016-08-27 12:07:55
  • 2579

Scala 之 高阶函数

高阶函数式编程讲解及案例
  • sinat_25306771
  • sinat_25306771
  • 2016-05-22 12:53:48
  • 3195

python内置的高阶函数

一、什么是高阶函数 (1)、变量可以指向函数,对变量和函数的调用效果是一样的。   函数也是一个对象,在python中一切都是对象。        abs函数实现了__call__方法,所以 f...
  • li_101357
  • li_101357
  • 2016-10-07 16:55:09
  • 1578

[Scala函数特性系列]——高阶函数

带函数参数的函数由于是一个接受函数参数的函数,故被称为高阶函数,像之前讲到的map()函数就是高阶函数。如下例所示: 上述代码中,apply函数接受一个函数f作为参数,接受一个Int类型的参...
  • yhao2014
  • yhao2014
  • 2016-02-21 21:25:57
  • 2844

高阶函数与JavaScript

简单的JavaScript? Web语言JavaScript的原意被很多人曲解了,绝大部分的人(包括以前我在做项目的时候)其实都没有正确地使用 HTML 和 CSS。几乎没有人是通过FP的特性规范来学...
  • zhangxin09
  • zhangxin09
  • 2010-07-06 18:02:00
  • 6849

JAVA 8函数式编程(一):高阶函数

函数式编程的核心在高阶函数与偏函数,在JAVA 8中,提供了很多函数式的接口,但跟Python、Javascript的函数相比较,还是存在较大的距离。首先看一个高阶函数的例子,这里利用局部变量域特性,...
  • yiifaa
  • yiifaa
  • 2017-06-18 20:26:11
  • 1971

Kotlin之基本函数和高阶函数

package net.edaibu.kotlintest.FunctionAndLambda /** * @author geqipeng * * @date 2017/6/1 * *...
  • sinat_35241409
  • sinat_35241409
  • 2017-06-01 16:24:56
  • 700
收藏助手
不良信息举报
您举报文章:note10 高阶函数
举报原因:
原因补充:

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