函数参数-两种输入方法之间的区别

时间:2018-11-02 16:41:38

标签: python function arguments tuples

一个非常简单的问题,但是我对Python还是比较陌生,并且正在研究Think Python。我正在学习有关元组的章节,并进行了一个练习,告诉我编写一个函数,该函数接受任意数量的参数并返回其和。

写这没问题:

def sumall(*args):
    return sum(args)
print(sumall(1,2,3,4))

我的问题是为什么上面的方法有效,而下面的方法却无效?

sum(1,2,3,4)

我知道sum()最多接受2个参数,但是与将它们添加到sumall()函数中的参数中分配这些参数有什么区别?

1 个答案:

答案 0 :(得分:0)

sum处于iterable和可选的起始位置,但是您传入的是多个整数参数,但失败。

当您致电sum(args)时,您正在传递args列表。调用sum(1, 2, 3, 4)时,您要传入4个不同的整数参数。