Python语言的高级特性
-函数式编程
-基于lambda演算的一种编程方式
-程序中只有函数
-函数可以作为参数也可以作为返回值
-高阶函数
-返回函数
-匿名函数
-装饰器
-偏函数
lambda表达式
-函数:最大程度复用代码
-lambda表达式(匿名函数)
-一个表达式,函数体比较简单
-有参数,用逗号隔开
#lambda表达式的用法
#计算一个数的10倍
#没有return
sum=lambda x:10*x
#使用时和函数是一样的,传入参数就可
print(sum(10))
100
sum2=lambda x,y,z:x+10*y+20*z
print(sum2(3,4,5))
143
高阶函数
-把函数作为参数使用的函数,叫做高阶函数
-函数名称就是一个变量,也可以赋值
#高阶函数举例
#funcA是普通函数
def funcA(n):
return n*100
#funcB的参数为函数funcA
def funcC(n,f):
return f(n)*300
print(funcC(10,funcA))
300000
系统高阶函数-map
#对列表里的元素都按照一定的规则进行操作
#返回值是一个迭代对象
a=[1,2,3,4,5,6,7,8,9]
def A(n):
return n*10
for i in map(A,a):
print(i,end=' ')
10 20 30 40 50 60 70 80 90
reduce
#把可迭代对象最后归并成一个结果
#必须有两个参数,必须有返回结果
#reduce需要导入functools包
from functools import reduce
#定义一个操作函数
a=[i for i in range(10)]
sum=reduce(add,a)
print(sum)
45