Funzioni Python (def): definizione con esempi

In questo articolo imparerai a conoscere le funzioni, che cos'è una funzione, la sintassi, i componenti e i tipi di funzioni. Inoltre, imparerai a creare una funzione in Python.

Video: Introduzione alle funzioni Python

Cos'è una funzione in Python?

In Python, una funzione è un gruppo di istruzioni correlate che esegue un'attività specifica.

Le funzioni aiutano a suddividere il nostro programma in blocchi più piccoli e modulari. Man mano che il nostro programma diventa sempre più grande, le funzioni lo rendono più organizzato e gestibile.

Inoltre, evita le ripetizioni e rende il codice riutilizzabile.

Sintassi della funzione

 def nome_funzione (parametri): "" "docstring" "" istruzioni

Sopra è mostrata una definizione di funzione composta dai seguenti componenti.

  1. Parola chiave defche segna l'inizio dell'intestazione della funzione.
  2. Un nome di funzione per identificare in modo univoco la funzione. La denominazione delle funzioni segue le stesse regole di scrittura degli identificatori in Python.
  3. Parametri (argomenti) attraverso i quali passiamo valori a una funzione. Sono opzionali.
  4. I due punti (:) per contrassegnare la fine dell'intestazione della funzione.
  5. Stringa di documentazione opzionale (docstring) per descrivere cosa fa la funzione.
  6. Una o più istruzioni python valide che compongono il corpo della funzione. Le dichiarazioni devono avere lo stesso livello di rientro (solitamente 4 spazi).
  7. Un'istruzione facoltativa returnper restituire un valore dalla funzione.

Esempio di una funzione

 def greet(name): """ This function greets to the person passed in as a parameter """ print("Hello, " + name + ". Good morning!")

Come chiamare una funzione in Python?

Una volta definita una funzione, possiamo chiamarla da un'altra funzione, programma o anche dal prompt di Python. Per chiamare una funzione è sufficiente digitare il nome della funzione con i parametri appropriati.

 >>> greet('Paul') Hello, Paul. Good morning!

Nota: prova a eseguire il codice sopra nel programma Python con la definizione della funzione per vedere l'output.

 def greet(name): """ This function greets to the person passed in as a parameter """ print("Hello, " + name + ". Good morning!") greet('Paul')

Docstrings

La prima stringa dopo l'intestazione della funzione è chiamata docstring ed è l'abbreviazione di stringa di documentazione. Viene usato brevemente per spiegare cosa fa una funzione.

Sebbene facoltativa, la documentazione è una buona pratica di programmazione. A meno che tu non ricordi cosa hai mangiato a cena la scorsa settimana, documenta sempre il tuo codice.

Nell'esempio sopra, abbiamo una docstring immediatamente sotto l'intestazione della funzione. Generalmente usiamo virgolette triple in modo che la docstring possa estendersi fino a più righe. Questa stringa è a nostra disposizione come __doc__attributo della funzione.

Ad esempio :

Prova a eseguire quanto segue nella shell Python per vedere l'output.

 >>> print(greet.__doc__) This function greets to the person passed in as a parameter

Per saperne di più sulle docstring in Python, visita Python Docstrings.

La dichiarazione di ritorno

L' returnistruzione viene utilizzata per uscire da una funzione e tornare al punto da cui è stata chiamata.

Sintassi del ritorno

 return (expression_list)

Questa istruzione può contenere un'espressione che viene valutata e il valore viene restituito. Se non è presente alcuna espressione nell'istruzione o l' returnistruzione stessa non è presente all'interno di una funzione, la funzione restituirà l' Noneoggetto.

Per esempio:

 >>> print(greet("May")) Hello, May. Good morning! None

Qui Noneè il valore restituito poiché greet()stampa direttamente il nome e non returnviene utilizzata alcuna istruzione.

Esempio di reso

 def absolute_value(num): """This function returns the absolute value of the entered number""" if num>= 0: return num else: return -num print(absolute_value(2)) print(absolute_value(-4))

Produzione

 2 4

Come funziona la funzione in Python?

Lavorare con funzioni in Python

Ambito e durata delle variabili

L'ambito di una variabile è la parte di un programma in cui la variabile viene riconosciuta. I parametri e le variabili definiti all'interno di una funzione non sono visibili dall'esterno della funzione. Quindi, hanno un ambito locale.

La durata di una variabile è il periodo durante il quale la variabile esce dalla memoria. La durata delle variabili all'interno di una funzione è lunga quanto la funzione viene eseguita.

Vengono distrutti una volta tornati dalla funzione. Quindi, una funzione non ricorda il valore di una variabile dalle sue precedenti chiamate.

Ecco un esempio per illustrare l'ambito di una variabile all'interno di una funzione.

 def my_func(): x = 10 print("Value inside function:",x) x = 20 my_func() print("Value outside function:",x)

Produzione

 Value inside function: 10 Value outside function: 20

Here, we can see that the value of x is 20 initially. Even though the function my_func() changed the value of x to 10, it did not affect the value outside the function.

This is because the variable x inside the function is different (local to the function) from the one outside. Although they have the same names, they are two different variables with different scopes.

On the other hand, variables outside of the function are visible from inside. They have a global scope.

We can read these values from inside the function but cannot change (write) them. In order to modify the value of variables outside the function, they must be declared as global variables using the keyword global.

Types of Functions

Basically, we can divide functions into the following two types:

  1. Funzioni integrate: funzioni integrate in Python.
  2. Funzioni definite dall'utente: funzioni definite dagli utenti stessi.

Articoli interessanti...