当前位置 : 主页 > 手机开发 > 其它 >

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

来源:互联网 收集:自由互联 发布时间:2021-06-22
假设你有这样的价值: n = 5 以及返回它的阶乘的方法,如下所示: 因子(5) 你如何处理多个值: nums = [1,2,3,4,5] 因子(nums) 所以它将所有这些值的阶乘返回为列表. 如果不编写2种方法,最简
假设你有这样的价值:

n = 5

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

因子(5)

你如何处理多个值:

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

因子(nums)

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

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

这有时是完成的.

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, 6, 7] )
[120, 720, 5040]
网友评论