单一实现可以覆盖Python中的单个值和多个值吗?

前端之家收集整理的这篇文章主要介绍了单一实现可以覆盖Python中的单个值和多个值吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
假设你有这样的价值:

n = 5

以及返回它的阶乘的方法,如下所示:

因子(5)

你如何处理多个值:

nums = [1,2,3,4,5]

因子(nums)

所以它将所有这些值的阶乘返回为列表.

如果不编写2种方法,最简洁的方法是什么? python有一个很好的方法来处理这种情况吗?

解决方法

@H_403_28@ 这有时是完成的.

def factorial( *args ):
    def fact( n ):
        if n == 0: return 1
        return n*fact(n-1)
    return [ fact(a) for a in args ]

它提供了一个几乎神奇的功能,可以使用简单的值和序列.

>>> factorial(5)
[120]
>>> factorial( 5,6,7 )
[120,720,5040]
>>> factorial( *[5,7] )
[120,5040]

猜你在找的设计模式相关文章