一个非常简单的问题,但是我对Python还是比较陌生,并且正在研究Think Python。我正在学习有关元组的章节,并进行了一个练习,告诉我编写一个函数,该函数接受任意数量的参数并返回其和。
写这没问题:
def sumall(*args):
return sum(args)
print(sumall(1,2,3,4))
我的问题是为什么上面的方法有效,而下面的方法却无效?
sum(1,2,3,4)
我知道sum()最多接受2个参数,但是与将它们添加到sumall()函数中的参数中分配这些参数有什么区别?
答案 0 :(得分:0)
sum处于iterable
和可选的起始位置,但是您传入的是多个整数参数,但失败。
当您致电sum(args)
时,您正在传递args
列表。调用sum(1, 2, 3, 4)
时,您要传入4个不同的整数参数。