相当简单的问题,但我对 Python 比较陌生,并且正在阅读《Think Python》一书。我在关于元组的章节中进行了一个练习,要求我编写一个函数,该函数接受任意数量的参数并返回它们的总和。
写这个不是问题:
def sumall(*args):
return sum(args)
print(sumall(1,2,3,4))
我的问题是为什么上面的方法有效,但下面的方法却不起作用?
sum(1,2,3,4)
我知道 sum() 最多接受 2 个参数,但这与从放入 sumall() 函数的参数中分配这些参数有什么区别?
最佳答案
sum采用可迭代和可选的起始位置,但您传递了多个整数参数,这会失败。
当您调用 sum(args)
时,您将传入 args
列表。当您调用 sum(1, 2, 3, 4)
时,您将传入 4 个不同的整数参数。
关于python - 函数参数 - 两种输入方法之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53122634/