Se non so quanti argomenti sarà passata una funzione, ho potuto scrivere la funzione usando imballaggio argomento:Perché usare * args/** kwargs compressi invece di passare lista/dict?
def add(factor, *nums):
"""Add numbers and multiply by factor."""
return sum(nums) * factor
In alternativa, ho potuto evitare di imballaggio argomento passando un elenco di numeri come il argomento:
def add(factor, nums):
"""Add numbers and multiply by factor.
:type factor: int
:type nums: list of int
"""
return sum(nums) * factor
esiste un vantaggio di utilizzare argomento imballaggio *args
sopra il superamento di un elenco di numeri? O ci sono situazioni in cui uno è più appropriato?
In modo che non sia * necessario * passare in una struttura in primo luogo. –
Osservare la sintassi di chiamata.Scegli quello che preferisci per il compito. –
@ IgnacioVazquez-Abrams Qual è il vantaggio? È altrettanto facile mettere le parentesi attorno agli argomenti. – DBedrenko