对Python有一定了解的人应该知道,Python并不是一门函数式编程语言,而是一门支持多种范式的语言,这也使得在Python中也能实现函数式编程,
对于学习到Python函数式编程的朋友,在这里推荐大家看一本名字叫《Python函数式编程》(Functional Programming in Python)从这本书中你应该能收获不少;
怎么说呢,函数是Python内建支持的一种封装,我们通过把大段代码拆成函数,通过一层一层的函数调用,就把复杂的任务分解成简单的任务,这种就称为面向过程的程序设计,函数就是面向过程的程序设计的基本单元。
首先看一个例子:计算斐波那契数列(任一个数都是前两个数之和的数字序列)
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.文档化函数
3.参数魔法(参数传递、关键字参数、收集参数、参数收集逆过程)
4.作业域
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
时间: 2024-10-14 00:05:44