Tutorial del Python - Funzione
- Cos’è la funzione del Python
- Come definire una funzione Python
- Esempio di funzione Python
- Chiamare una funzione in Python
-
La dichiarazione di
return
- Portata e durata delle variabili di Python
- Tipi di funzioni
In questa sezione, imparerete
- Cos’è una funzione
- Come creare una funzione
- Tipi di funzioni
Cos’è la funzione del Python
Una funzione è un piccolo blocco di un programma che contiene una serie di istruzioni per eseguire un compito specifico. Quando si dispone di un programma di migliaia di linee che eseguono compiti diversi, allora si dovrebbe dividere il programma in piccoli moduli (blocchi) che aumentano la leggibilità e riducono la complessità.
Come definire una funzione Python
Di seguito è riportata la sintassi per definire una funzione:
def functionName(arguments):
"""This is the definition of this function"""
statements
return returnParam
- La parola chiave
def
è usata per definire una funzione. functionName
è il nome della funzione.argomenti
sono opzionali. Gli argomenti forniscono valori per la funzione su cui eseguire le operazioni.- Colon (
:
) termina l’intestazione della funzione. """This is the definition of this function"""
è unadocstring
ed è opzionale che descrive ciò che la funzione fa.statements
si riferisce al corpo della funzione.- L’affermazione
return
restituisce opzionalmente il risultato al chiamante.
Esempio di funzione Python
def language(p):
"""Function to print a message"""
print("Programming language:", p)
Qui viene definita una funzione language
che ha un argomento p
che passa dal chiamante. All’interno della funzione, c’è una stringa e un’istruzione print
per stampare il messaggio contenente l’argomento p
.
Chiamare una funzione in Python
Una funzione può essere chiamata da qualsiasi punto del programma. Una funzione può essere chiamata con il suo nome con i parametri richiesti.
language("Python")
Programming language: Python
La dichiarazione di return
L’istruzione return
trasferisce il controllo ai codici dove viene chiamata la funzione.
Indica la fine della definizione della funzione.
La sintassi di return
è la seguente:
return [values_to_be_returned]
Se non c’è un’istruzione return
in una funzione, un oggetto None
verrà restituito.
Esempio di utilizzo dell’istruzione return
def square(n):
return n * n
print("Square of 4=", square(4))
Square of 4=16
In questo codice, la funzione viene chiamata in una funzione print
e 4 viene passata come argomento. All’interno della funzione, si ha un’espressione n*n
che viene valutata e il risultato viene riportato dove la funzione viene chiamata (istruzione print
).
Portata e durata delle variabili di Python
L’ambito di una variabile è quello in cui è possibile accedere ad una variabile. Quando una variabile viene dichiarata all’interno di una funzione, non è accessibile all’esterno di tale funzione. Questo tipo di variabili è chiamato variabile locale ed è accessibile solo alla funzione in cui è dichiarata.
La durata di una variabile è il tempo durante il quale una variabile esiste in memoria. Quando una variabile viene dichiarata all’interno di una funzione, la sua memoria viene rilasciata quando il controllo salta fuori dalla funzione.
Vedere l’esempio qui sotto:
def fun():
a = 12
print("Value of a inside function:", a)
a = 24
fun()
print("Value of a outside function:", a)
Value of a inside function: 12
Value of a outside function: 24
In questo codice, la variabile a
all’interno della funzione e la variabile a
all’esterno della funzione sono variabili diverse.
Se provate ad accedere alle variabili dichiarate all’interno di una funzione dall’esterno, vi imbatterete in un errore - NameError name 'x' is not defined
. Ma le variabili dichiarate al di fuori delle funzioni hanno uno scopo globale e sono accessibili dall’interno.
Tipi di funzioni
Le funzioni in Python possono essere suddivise in due tipi:
Built-in functions
: hanno un significato predefinito ed eseguono compiti specifici.Funzioni definite dall'utente
: sono definite dall’utente e contengono un numero qualsiasi di affermazioni per eseguire compiti definiti dall’utente.
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook