函数式编程语言介绍

函数式编程语言介绍
  • 大部分编程语言都是面向过程了,程序就是一系列指令,这些指令告诉计算机如何操作,如:C,Pascal,shell都是过程语言.
  • 对于声明式语言, 你要编写一系列规范描述该问题如何解决.SQL就是一种声明式语言,一个SQL查询描述数据该如何获取,
  • 面向对象的编程是对对象的操作,对象有内部状态,支持方法对内部状态的修改或者查询,Smalltalk和Java就是典型的面向对象变成语言.C++和Python同样支持面向对象的编程,但是并不强制你使用面向对象的特性
  • 函数式编程分解一个问题成为一系列函数,理想情况下,函数仅仅关注输入和输出,没有任何内部状态,只有输入影响输出.Haskell就是典型的函数式编程语言.

http://docs.python.org/2/howto/functional.html

函数式编程-----序列处理函数:map(),filter(),reduce()

####map(function, sequence[, …]) → list

创建一个新的列表,函数作用于原来列表中的每个元素

>>> map( int, [ "10", "12", "14", 3.1415926, 5L ] )
[10, 12, 14, 3, 5]

这个函数等效下面这个定义:

def map(function, sequence):
    return [function(v) for v in sequence]

map函数可以接收多个序列,如果是这种情况的话,function必须接收多个参数,参数的个数必须和序列的个数保持一致.如果function=None, 那么返回的列表是有tuple构成的列表

>>>map(None, r
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值