Поскольку args
является кортежем, который является один аргументом. Далее делает то же самое, как вашу функцию и работает:
sum((1,2,3,4))
Без дополнительной скобки, вы вызываете sum()
с четырьмя отдельными аргументами, так что первый аргумент не является кортеж из 4-х целых чисел, но только один целое. Это не работает, потому что sum()
ожидает, что первым аргументом будет последовательность. Необязательный второй аргумент может использоваться, чтобы дать другое начальное значение (по умолчанию 0), что означает, что sum()
занимает не более 2 аргументов.
Большое спасибо Мартин, я буквально чувствую мой мозг расширяющейся за последние несколько дней, это как я никогда не имел подумать, прежде чем я начал изучать Python. –