Parametri – 3

L’asterisco prima dell’ultimo parametro indica che si tratta di una lista

def funzione(*numeri):
    print(sum(numeri))
 
funzione()         #       = 0
funzione(1)        # 1     = 1
funzione(1, 2, 3)  # 1+2+3 = 6

Se i parametri sono di tipo diverso e in ordine “sparso” si può rimediare con la funzione isinstance()

def funzione(*numeri): 
    r=0
    for x in numeri:
        if(isinstance(x, (float,int))): 
            r += x
    print(r)
 
funzione(1, 2.5, 3)    # 1+2.5+3 = 6.5
funzione(1, "a", 3)    # 1+3     = 4
funzione(1, 2.5, "b")  # 1+2.5   = 3.5