Come creare una funzione con parametri opzionali in Python

Nel linguaggio python le funzioni hanno i parametri in input obbligatori.

Esempio

La funzione somma(a,b) ha due parametri in input:

def somma(a,b):
return a+b

Nella chiamata devo specificare entrambi i parametri.

somma(1,2)

Se non lo facessi, l'interprete python andrebbe in errore.

somma(1)
Traceback (most recent call last):
TypeError: somma() missing 1 required positional argument: 'b'

Come definire un parametro opzionale nella funzione?

Per considerare opzionale un parametro della funzione, basta assegnargli un valore di default in entrata.

Esempio

Assegno al secondo parametro il valore zero di default.

def somma(a,b=0):
return a+b

In questo modo, anche se non dovessi documentarlo, la funzione sarebbe comunque eseguita.

somma(1)

La funzione non riceve alcun parametro b, quindi gli assegna il valore di default (0) ed esegue il blocco di istruzioni al suo interno senza andare in errore.

1

E così via.

Un consiglio. E' preferibile raccogliere tutti i parametri opzionali di una funzione alla fine della lista. In questo modo non bisogna ricordarsi quali sono obbligatori e quali opzionali.

 


 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin
knowledge base

Le funzioni in python