python - 函数参数 - 两种输入方法之间的差异

标签 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() 函数的参数中分配这些参数有什么区别?

最佳答案

sum采用可迭代和可选的起始位置,但您传递了多个整数参数,这会失败。

当您调用 sum(args) 时,您将传入 args 列表。当您调用 sum(1, 2, 3, 4) 时,您将传入 4 个不同的整数参数。

关于python - 函数参数 - 两种输入方法之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53122634/

相关文章:

python - 检查用户是否存在 PRAW

javascript - 参数对象类型转换

python - 计算Python中参数的实际数量

php - 强制 func_get_args() 的结果是一个关联数组而不是 0-index

Python-如何使用不带引号的 csv.writer

python - 无法将模块上传到 PyPi

oop - 什么是方法、属性和功能?

javascript - 尝试使用 jQuery、javascript、click 函数将图像更改为相关的 id

python - 使用参数名称的代码风格

python - 数据表 python flask