Numero di parametri variabile
L’asterisco prima dell’ultimo parametro indica che si tratta di una lista
1 2 3 4 5 6 |
def funzione(*numeri): return sum(numeri) f1=funzione() # f1=0 f2=funzione(1) # f2=1 f3=funzione(1, 2, 3) # f3=6 |
isinstance()
Se i parametri sono di tipo diverso e in ordine “sparso” si può rimediare con la funzione isinstance()
1 2 3 4 5 6 7 8 9 10 |
def funzione(*numeri): r=0 for x in numeri: if(isinstance(x,(float,int))): r += x return r f1=funzione(1, 2.5, 3) # f1=6.5 f2=funzione(1, "a", 3) # f2=4 f3=funzione(1, 2.5, "b") # f3=3.5 |