Nessun parametro
La funzione esegue un compito senza avere necessità di dati in ingresso (dalla chiamata…)
1 2 3 |
def funzione(): return 10 f=funzione() # f=10 |
Uno o più parametri
La funzione esegue un compito utilizzando i dati in ingresso (ricevuti alla chiamata come valori dei parametri)
1 2 3 4 |
def funzione(x, y, z): return x+y+z f1=funzione(1, 2, 3) # f1=6 f2=funzione(3, 2, 1) # f2=6 |
Se i parametri sono utilizzati in modo diverso (o sono di tipo diverso) è necessario rispettare l’ordine
1 2 3 4 |
def funzione(x, y, z): return x**3+y**2+z f1=funzione(1, 2, 3) # f1=1^3+2^2+3=8 f2=funzione(3, 2, 1) # f2=3^3+2^2+1=32 |
Si possono scrivere i parametri in qualsiasi ordine se riferiti con il loro nome
1 2 3 4 5 |
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
1 2 3 4 5 6 7 8 |
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
1 2 3 4 5 6 |
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 |