Si possono scrivere i parametri in qualsiasi ordine se riferiti con il loro nome.
La prima parte di parametri può essere senza nome, se sono in ordine.
def funzione(x, y, z):
return x**3+y**2+z
f1 = funzione(x=10, y=2, z=3) # f1 = 10^3+2^2+3 = 8
f2 = funzione(z=3, y=2, x=10) # f2 = = 8
f3 = funzione(10, z=3, y=2) # f3 = = 8
Valori di default
Se i parametri formali hanno un valore di default allora possono essere omessi alla chiamata
def funzione(x=1, y=2, z=3):
return x**3+y**2+z
f1 = funzione() # f1 = 1^3+2^2+3 = 8
f2 = funzione(1) # f2 = 1^3+2^2+3 = 8
f3 = funzione(1, 2, 3) # f3 = 1^3+2^2+3 = 8
f4 = funzione(x=10) # f4 = 10^3+2^2+3 = 1007
f5 = funzione(y=10) # f5 = 1^3+10^2+3 = 104
f6 = funzione(z=10) # f6 = 1^2+2^2+10 = 15
I parametri con valore di default devono essere dopo quelli tradizionali
def funzione(x, y=2, z=3):
return x**3+y**2+z
f1 = funzione(1) # f1 = 1^3+2^2+3 = 8
f2 = funzione(10) # f2 = 10^3+2^2+3 = 1007
f3 = funzione(10, y=10) # f3 = 10^3+10^2+3 = 1103
f4 = funzione(10, z=10) # f4 = 10^3+2^2+10 = 1014