Tutorial del Python - Funzione

Jinku Hu 30 gennaio 2023
  1. Cos’è la funzione del Python
  2. Come definire una funzione Python
  3. Esempio di funzione Python
  4. Chiamare una funzione in Python
  5. La dichiarazione di return
  6. Portata e durata delle variabili di Python
  7. Tipi di funzioni
Tutorial del Python - Funzione

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
  1. La parola chiave def è usata per definire una funzione.
  2. functionName è il nome della funzione.
  3. argomenti sono opzionali. Gli argomenti forniscono valori per la funzione su cui eseguire le operazioni.
  4. Colon (:) termina l’intestazione della funzione.
  5. """This is the definition of this function""" è una docstring ed è opzionale che descrive ciò che la funzione fa.
  6. statements si riferisce al corpo della funzione.
  7. 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:

  1. Built-in functions: hanno un significato predefinito ed eseguono compiti specifici.
  2. Funzioni definite dall'utente: sono definite dall’utente e contengono un numero qualsiasi di affermazioni per eseguire compiti definiti dall’utente.
Autore: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

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