Если я не знаю, сколько аргументов передаст функция, я мог бы написать функцию, используя упаковку аргументов:
def add(factor, *nums):
"""Add numbers and multiply by factor."""
return sum(nums) * factor
В качестве альтернативы я мог избежать упаковки аргументов, передав в качестве аргумента список чисел:
def add(factor, nums):
"""Add numbers and multiply by factor.
:type factor: int
:type nums: list of int
"""
return sum(nums) * factor
Есть ли преимущество использования упаковки аргументов *args
для передачи списка чисел? Или есть ситуации, когда один из них более уместен?