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