Python中计算阶乘的函数可以通过递归或循环实现,其中递归简洁但效率低,循环高效且适合大数计算,推荐使用math.factorial()
内置函数直接调用。
-
递归方法
递归通过函数调用自身实现,代码简洁但存在栈溢出风险,适用于小规模计算。例如:def factorial_recursive(n): return 1 if n == 0 else n * factorial_recursive(n-1)
-
循环方法
循环通过累乘实现,效率高且无递归深度限制,适合计算大数阶乘。例如:def factorial_iterative(n): result = 1 for i in range(1, n+1): result *= i return result
-
内置函数
math.factorial()
Python标准库提供优化后的阶乘函数,直接调用即可,性能**且无需重复造轮子。例如:import math math.factorial(5) # 输出120
总结:根据需求选择实现方式——小规模计算可用递归,大规模推荐循环或直接调用math.factorial()
,兼顾效率与便捷性。