Warum sollten gepackte * args / ** kwargs verwendet werden, anstatt list / dict zu übergeben?

Wenn ich nicht weiß, wie viele Argumente eine Funktion übergeben wird, kann ichkönnte schreibe die Funktion mit dem Argument packing:

def add(factor, *nums):
    """Add numbers and multiply by factor."""
    return sum(nums) * factor

Alternativ könnte ich das Packen von Argumenten vermeiden, indem ich eine Liste von Zahlen als Argument übergebe:

def add(factor, nums):
    """Add numbers and multiply by factor.

    :type factor: int
    :type nums: list of int
    """
    return sum(nums) * factor

Ist die Verwendung von Argument-Packing von Vorteil?*args Übergabe einer Liste von Zahlen? Oder gibt es Situationen, in denen man besser geeignet ist?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage