美文网首页ITS·黑客
py函数式编程与高阶函数

py函数式编程与高阶函数

作者: 小灰灰233 | 来源:发表于2017-05-14 18:31 被阅读3次

一、函数式编程

抽象程度高,执行效率低
纯粹的函数式编程编写的函数没有变量,输入确定则输出确定,称之为没有副作用
允许把函数本身作为参数传入另一个函数,还允许返回一个函数

二、高阶函数

1、变量可以指向函数

abs是函数本身,abs(-10)是函数调用

函数本身可以赋值给变量
f=abs
f(-9)
9

2、函数名也是变量

函数名其实就是指向函数的(默认)变量

把abs指向其他对象,就无法再调用该函数
(需重启python交互环境)

3、传入函数

高阶函数:一个函数可以接收另一个函数作为参数
def add(x,y,f)
return f(x)+f(y)
调用时add(-5,6,abs)

三、map/reduce

(函数)

1、map

接收两个参数——函数和iterable
将函数依次作用到序列的每个元素,并将结果作为新的iterator返回
def f(x):
return x*x
r=map(f,[1,2,3])
list(r)

因为r是iterator惰性序列,需要list()将整个序列计算出来并返回一个list

2、reduce

把一个函数作用在一个序列上,将结果继续与序列的下一个元素做累积计算
reduce(f,[x1,x2,x3,x4])=f(f(f(x1,x2)x3)x4)

from functools import reduce
def fn(x,y)
reduce x*10+y

reduce(fn,[1,2,3,4])
1234

相关文章

  • Python 之路03 - Python基础3

    本节内容 函数与函数式编程 函数式编程之参数详解 局部变量与全局变量作用域嵌套函数 递归 函数式编程介绍 高阶函数...

  • py函数式编程与高阶函数

    一、函数式编程 抽象程度高,执行效率低纯粹的函数式编程编写的函数没有变量,输入确定则输出确定,称之为没有副作用允许...

  • Python高阶函数总结

    一、高阶函数 把函数作为参数传入 ,这样的函数称为高阶函数,高阶函数是函数式编程的体现。函数式编程就是指这种高度抽...

  • 高阶python 函数式编程

    高阶python 函数式编程 - 函数式 函数式编程(FunctionalProgramming) - 基于lam...

  • python函数式编程

    高阶函数 把函数作为参数传入,这样的函数称为高阶函数,函数式编程就是指这种高度抽象的编程范式。与js相似,与c#中...

  • Swift函数式编程与面向协议编程

    函数式编程(FP) 一、函数式编程(FP)-高阶函数 二、函数式编程(FP) - 柯里化(Currying) 三、...

  • Kotlin 函数式编程思想 FP in Kotlin

    Kotlin 函数式编程思想 : FP in Kotlin 函数式编程特性 闭包和高阶函数 函数编程支持函数作为第...

  • 2019-05-09 Python高阶函数

    高阶函数 把函数作为参数传入,这样的函数称为高阶函数,函数式编程就是指这种高度抽象的编程范式 高阶函数英文叫Hig...

  • Kotlin函数式编程

    什么是函数式编程 函数式编程是于面向对象编程范式相齐名的一种编程方式,主要依赖于高阶函数返回的数据,这些高阶函数专...

  • Python进阶语法——函数式编程、模块,面向对象

    一、 Python进阶学习 一、函数式编程 1.1函数式编程 1.2高阶函数 1.2.1 import mathd...

网友评论

    本文标题:py函数式编程与高阶函数

    本文链接:https://www.haomeiwen.com/subject/gbjqxxtx.html