Python Language Definire e chiamare semplici funzioni

Esempio

Usare l'istruzione def è il modo più comune per definire una funzione in python. Questa affermazione è una cosiddetta dichiarazione composta con clausola singola con la seguente sintassi:

def function_name(parameters):
    statement(s)

function_name è noto come identificativo della funzione. Poiché una definizione di funzione è un'istruzione eseguibile, la sua esecuzione associa il nome della funzione all'oggetto funzione che può essere chiamato in seguito utilizzando l'identificatore.

parameters è un elenco opzionale di identificatori che vengono associati ai valori forniti come argomenti quando viene chiamata la funzione. Una funzione può avere un numero arbitrario di argomenti separati da virgole.

statement(s) - noto anche come il corpo della funzione - sono una sequenza non vuota di istruzioni eseguite ogni volta che viene chiamata la funzione. Ciò significa che un corpo della funzione non può essere vuoto, proprio come qualsiasi blocco rientrato .

Ecco un esempio di una definizione di una funzione semplice che ha lo scopo di stampare Hello ogni volta che viene chiamato:

def greet():
    print("Hello")

Chiamiamo ora la funzione greet() definita:

greet()
# Out: Hello

Questo è un altro esempio di una definizione di funzione che prende un singolo argomento e visualizza il valore passato ogni volta che viene chiamata la funzione:

def greet_two(greeting):
    print(greeting)

Dopo che la funzione greet_two() deve essere chiamata con un argomento:

greet_two("Howdy")
# Out: Howdy

Inoltre puoi dare un valore predefinito a quell'argomento di funzione:

def greet_two(greeting="Howdy"):
    print(greeting)

Ora puoi chiamare la funzione senza dare un valore:

greet_two()
# Out: Howdy 

Noterai che a differenza di molti altri linguaggi, non è necessario dichiarare esplicitamente un tipo di ritorno della funzione. Le funzioni Python possono restituire valori di qualsiasi tipo tramite la parola chiave return . Una funzione può restituire qualsiasi numero di tipi diversi!

def many_types(x):
    if x < 0:
        return "Hello!"
    else:
        return 0

print(many_types(1))
print(many_types(-1))

# Output:
0
Hello!

Finché questo è gestito correttamente dal chiamante, questo è un codice Python perfettamente valido.

Una funzione che raggiunge la fine dell'esecuzione senza un'istruzione return restituirà sempre None :

def do_nothing():
    pass

print(do_nothing())
# Out: None

Come accennato in precedenza, una definizione di funzione deve avere un corpo di funzione, una sequenza di dichiarazioni non vuote. Pertanto l'istruzione pass è usata come corpo della funzione, che è un'operazione nulla, quando viene eseguita, non accade nulla. Fa quello che significa, salta. È utile come segnaposto quando un'istruzione è richiesta sintatticamente, ma non è necessario eseguire alcun codice.