面向过程编程
定义:过程即顺序,按照一定得逻辑顺序进行编程。面向过程编程是一切编程得基础。即使是面向对象编程中也有小部分得面向过程编程组成
面向过程编程得优劣:
1. 复杂得事情简单化,逐步实现得一个过程。
2. 可扩展性差,一个流程改动会牵扯到其他流程得变动。
函数式编程
匿名函数 lambda
匿名函数:即没有名称得函数,运行完就结束
sum=lambda x,y:x+y
print(sum(1,2))
常用内置函数和匿名函数结合使用
- max(比较出最大值)
L={"lzz":2000,"xiaoming":3000,"daxing":4000}
res=max(L,key=lambda a:L[a])
print(res)
- min(比较出最小值)
L={"lzz":2000,"xiaoming":3000,"daxing":4000}
res=min(L,key=lambda a:L[a])
print(res)
- sorted(按照一定顺序排列)
L={"lzz":2000,"xiaoming":3000,"daxing":4000}
res=sorted(L,key=lambda a:L[a],reverse=True)
print(res)
- map(每个元素进行统一处理)
L=[1,2,3,4,5]
res=list(map(lambda a:a**2,L))
print(res)
- filter(过滤匹配条件的元素)
L=["lzz","xiaoming","daxing"]
res=list(filter(lambda a:a.endswith("ing"),L))
print(res)
- reduce(所有元素的累积)
from functools import reduce
res=reduce(lambda x,y:x+y,[1,2,3,4,5],10)
print(res)