I moduli in Python sono file che contengono codice, come funzioni e variabili, che può essere utilizzato in altri file. Questo permette di evitare la duplicazione del codice e di mantenere un’organizzazione chiara. In pratica, ogni file Python con estensione .py
può essere considerato un modulo.
Esempio base di un modulo
Creare un modulo in Python è molto semplice. Supponiamo di avere un file chiamato calcoli.py
, dove vogliamo definire alcune funzioni matematiche. Ecco come potrebbe apparire il codice all’interno di questo modulo:
def somma(a, b):
return a + b
def sottrazione(a, b):
return a - b
Salvando questo file come calcoli.py
, abbiamo creato un modulo personalizzato che può essere utilizzato in altri script Python.
Come importare un modulo personalizzato in Python
Per utilizzare il modulo che abbiamo appena creato, dobbiamo importarlo in un altro file Python. Ad esempio, possiamo creare un file chiamato main.py
e importare il modulo calcoli
:
import calcoli
risultato = calcoli.somma(5, 3)
print(risultato)
In questo modo, il nostro script main.py
utilizzerà la funzione somma
definita nel modulo calcoli.py
.
Come importare solo funzioni specifiche
In Python, è anche possibile importare solo specifiche funzioni da un modulo, piuttosto che tutto il modulo. Ad esempio, se volessimo importare solo la funzione somma
, potremmo farlo in questo modo:
from calcoli import somma
risultato = somma(5, 3)
print(risultato)
In questo caso, abbiamo importato esclusivamente la funzione somma
e possiamo utilizzarla senza dover specificare il nome del modulo.
Moduli organizzati in cartelle: i pacchetti
Per progetti più grandi, è possibile organizzare i moduli all’interno di cartelle, creando così dei pacchetti. Ogni cartella che contiene un pacchetto deve includere un file vuoto chiamato __init__.py
, che indica a Python che la cartella contiene un pacchetto.
Un esempio di struttura potrebbe essere:
mio_progetto/
├── matematica/
│ ├── __init__.py
│ ├── operazioni.py
├── main.py
Nel file main.py
, possiamo importare moduli dal pacchetto matematica
in questo modo:
from matematica import operazioni
Moduli incorporati (built-in)
Oltre ai moduli personalizzati, Python mette a disposizione una vasta gamma di moduli incorporati, chiamati anche moduli built-in. Questi moduli sono parte della libreria standard di Python e non richiedono l’installazione di pacchetti esterni. Un esempio molto comune è il modulo math
, che fornisce diverse funzioni matematiche pronte all’uso.
Ecco un esempio di come utilizzare il modulo math
:
import math
print(math.sqrt(16)) # Output: 4.0
I vantaggi della creazione di moduli personalizzati in Python
Creare moduli personalizzati offre diversi vantaggi, tra cui:
- Codice più organizzato e leggibile.
- Maggiore riusabilità: funzioni e variabili possono essere facilmente utilizzate in più file.
- Manutenzione semplificata: apportare modifiche a un modulo aggiornando solo il file specifico.
Questi benefici sono particolarmente utili in progetti di grandi dimensioni o collaborativi, dove la suddivisione del codice in moduli è fondamentale per mantenere una struttura chiara.