Я думаю, что это не вариант использования для исключений, исключения для исключительных случаев.Используйте другую функцию, если вы преобразуете аргументы в список и передаете функцию сумматора.
Кроме того, проверка и форматирование ввода должны выполняться во внешней части кода, а не в конечной функции.В лучшем случае данные должны быть проверены перед переходом к этой функции, и у вас должна быть только функция sum
для обработки готовых данных.
Это способ:
- Сохранять простоту
- Избегать добавления условных путей
- Избегать защитного программирования во внутреннем коде
- И, таким образом, избежать будущих проблем.
У меня был бы следующий код.
def argsToList(*x):
return list(x)
print sum([1,2,3,4])
print sum(argsToList(1,2,3,4))
# both output 10