关于补充:python是否有重载参数?

Does python have overloaded parameters?

本问题已经有最佳答案,请猛点这里访问。

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

我想是这样的:

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

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

事先谢谢。


您可能正在查找任意参数列表。

但是,您可能做的工作比您需要做的要多,而且我也不完全确定您正试图做什么(或者您所说的高效算法是什么意思),但是sum内置函数已经做了您需要做的,您只需阅读文档,了解它在其参数中实际期望的内容。

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

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

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

只要稍微想一想,就可以把上面的函数组合起来。