函数式编程的透彻理解

深入理解函数式编程

函数是"第一等公民"
所谓"第一等公民"(first class),指的是函数与其他数据类型一样,处于平等地位,可以赋值给其他变量,也可以作为参数,传入另一个函数,或者作为别的函数的返回值。

简单说,“函数式编程"是一种"编程范式”(programming paradigm),也就是如何编写程序的方法论。
它属于"结构化编程"的一种,主要思想是把运算过程尽量写成一系列嵌套的函数调用。

把函数作为参数传入,这样的函数称为高阶函数,函数式编程就是指这种高度抽象的编程范式。
就在今天去理解python里面的所谓的
高阶函数这一概念的时候突然明白
函数式编程的内部原理就是数学中的复合函数f(g(x))

'''
创作人liChenXin
发现了原来函数式编程的核心思想是--math中的复合函数 f(g(x))
'''
def a():
    return ('hello a')
    # 每个函数都有一个返回值才完整

def b(c):
    print(c)
    return ('hello b')

print("here",b(a()))

复合函数的定义-来源超链接

y是u的函数 ,u是x的函数 ,如果 的值全部或部分在 的定义域内,则y通过u成为x的函数,记作 ,称为由函数 与 复合而成的复合函数。 
如 等都是复合函数。
而 就不是复合函数,因为任何x都不能使y有意义。由此可见,不是任何两个函数放在一起都能构成一个复合函数。
复合函数通俗地说就是函数套函数,是把几个简单的函数复合为一个较为复杂的函数。复合函数中不一定只含有两个函数,有时可能有两个以上,如y=f(u),u=φ(v),v=ψ(x),则函数y=f{φ[ψ(x)]}x的复合函数,u、v都是中间变量。 

深入理解高阶函数

  • map
    map(…)
    map(function, sequence[, sequence, …]) -> list
    格式:
    函数(函数,特殊参数,特殊参数)
    f(g(x))
  • reduce
    reduce(…)
    reduce(function, sequence[, initial]) -> value
    格式:
    函数(函数,特殊参数,特殊参数)
    f(g(x))
  • filter
    filter(…)
    filter(function or None, sequence) -> list, tuple, or string
    格式:
    函数(函数,特殊参数,特殊参数)
    f(g(x))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值