知识点
- lambda函数
- reduce() 函数
- 求阶乘
- __import__('functools')
- int.__mul__
代码
# lambda函数其实最为主要的用途是把一个函数传入另一个高阶函数(如Python内置的filter、map等)中来为函数做解耦合,增强函数的灵活性和通用性
# reduce() 函数会对参数序列中元素进行累积。Python3.x reduce() 已经被移到 functools 模块里
# reduce(function, iterable[, initial]) -> value
import functools
functools.reduce(lambda x, y: x*y, range(1,6))
# int.__mul__是一个函数,它代表了整数类型的乘法操作。int.__mul__是Python中整数类型的乘法运算符的特殊方法
# 将可迭代对象中的元素依次传递给int.__mul__函数进行累积操作,即计算可迭代对象中所有元素的乘积
functools.reduce(int.__mul__, range(1,6))
# 求阶乘
fac = lambda x: __import__('functools').reduce(int.__mul__, range(1, x + 1), 1)
fac(5)
参考: 复制在谷歌即可找到来源