python是否有重载参数?

时间:2014-08-18 23:21:50

标签: python addition

如何在不使用元组或列表的情况下将多个值集成为参数? python是否有重载参数?

我在想这样的事情:

add(1,2)      # 3
add(1,2,3,4)  # 10

def add(numbers):
    return sum(list(numbers))

提前致谢。

1 个答案:

答案 0 :(得分:3)

您可能正在寻找Arbitrary Argument List

然而,你可能做的工作超出了你的需要,而且我也不完全确定你正在尝试做什么(或者你的意思是高效算法),但是sum内置函数已经做了你需要什么,你只需要阅读文档中关于它的参数的实际期望。

>>> sum([1,2,3])
6
>>> sum([1,2,3,4,5,6])
21

或者哎呀,如果你想要没有列表或元组(实际上,参数已经是一个列表,所以你只是使用不必要的语法糖),那么你可以这样做。

def add(*numbers):
    return sum(numbers)

只要稍微思考就可以将上述功能放在一起。