使用 Operator 模块中的 mul 函数来实现阶乘:
from operator import mul def factWithMul(n): return reduce(mul, range(1, n + 1))
相对来说,在Operator模块中使用计算功能,使得代码更加简洁。
从源代码分析,mul函数是计算两个参数的乘积。
def mul(a, b): "Same as a * b." return a * b
拓展使用 lambda 方式来实现:
from functools import reduce def fact(n): return reduce(lambda a, b: a * b, range(1, n + 1))
这里使用的是reduce方法。函数函数有两个参数。reduce()函数对集合中的第一个和第二个元素进行函数处理,然后对带有第三个元素的结果进行函数处理,最终得到一个结果。
以上就是Python中Operator计算函数的方法,希望能对大家有所帮助!