python 函数式编程 <lambda>

在网上找了一些函数式编程的资料,摘取了两个链接里的内容。

函数式编程:

首先,引用wiki百科解释:

In computer science, functional programming is a programming paradigm that treats computation as the evaluation of mathematical functions and avoids state and mutable data.

函数式编程是一种编程模型,他将计算机运算看做是数学中函数的计算,并且避免了状态以及变量的概念

由于原文写得很好了,而且偶也是初步接触,就不瞎咧咧了,还是看原文:http://www.cnblogs.com/kym/archive/2011/03/07/1976519.html


另外,了解到JavaScript是一种可以写函数式编程的语言:请看原文:http://www.ruanyifeng.com/blog/2017/02/fp-tutorial.html

摘要:

“本质上,函数式编程只是范畴论的运算方法,跟数理逻辑、微积分、行列式是同一类东西,都是数学方法,只是碰巧它能用来写程序。

所以,你明白了吗,为什么函数式编程要求函数必须是纯的,不能有副作用?因为它是一种数学运算,原始目的就是求值,不做其他事情,否则就无法满足函数运算法则了。”


函数式编程是一种单纯的用于计算的函数,就是用代码实现的数学里的函数:f(x) = y,变量x和函数值有明确的一对一的关系。包含了一种确定性的关系。


python不是函数式编程语言,但是包含几个重要的函数式编程实现:lambda, apply(), filter(), map(),reduce(),列表解析


顺便讲一下声明式编程和指令式语言

指令式编程:

从字面上就可以理解,就是用代码编写一条一条执行的语句,实现一定的逻辑或者计算的函数(或方法)。也就是告诉机器怎么做。HOW

最经典的语言:C/C++,java等

声明式语言:

与命令式编程相对立。它描述目标性质,让计算机明白目标,而非流程。WHAT

声明式语言包括数据库查询语言(SQL,XQuery),正则表达式,逻辑编程,函数式编程和组态管理系统。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值