对Python有必定了解的人应该知道,Python并非一门函数式编程语言,而是一门支持多种范式的语言,这也使得在Python中也能实现函数式编程,程序员
对于学习到Python函数式编程的朋友,在这里推荐你们看一本名字叫《Python函数式编程》(Functional Programming in Python)从这本书中你应该能收获很多;编程
怎么说呢,函数是Python内建支持的一种封装,咱们经过把大段代码拆成函数,经过一层一层的函数调用,就把复杂的任务分解成简单的任务,这种就称为面向过程的程序设计,函数就是面向过程的程序设计的基本单元。app
首先看一个例子:计算斐波那契数列(任一个数都是前两个数之和的数字序列)编程语言
1 fibs=[0,1] 2 num =input('How many Fibonacci do you want?') 3 for i in range(num-2): 4 fibs.append(fibs[-2]+fibs[-1]) 5 print(fibs)
从上面的例子应该能明白,程序员都很懒的,重复的问题应该以一种抽象的方式去解决;函数式编程
Python中函数主要学习如下几个方面:函数
1.如何定义学习
2.文档化函数spa
3.参数魔法(参数传递、关键字参数、收集参数、参数收集逆过程)设计
4.做业域code
5.递归
6.函数式编程(lambda表达式、map函数、filter函数、reduce函数、partial、Groupby、Compose、Currying)
map(func,seq [, seq.....])
filter(func,seq)
reduce(func,seq[, initial])
sum(seq)
apply(func[, args[, kwargs]])
1.Python中函数使用def语句定义
def hello(name): return 'Hello.'+name+'!'
2.文档化函数
def square(x): 'Calculates the square of the number x.' return x*x