Importare Moduli in Python
In Python, i moduli ti permettono di organizzare il codice in modo modulare e riutilizzabile. I moduli sono file che contengono funzioni, classi, variabili o altre strutture, e possono essere importati in altri script per estendere la funzionalità del codice. Python include una vasta gamma di moduli standard, ma puoi anche creare moduli personalizzati o importare moduli esterni. In questo articolo esploreremo come funziona l’importazione dei moduli in Python, con esempi pratici.
Cos’è un Modulo?
Un modulo in Python è un singolo file .py
che contiene definizioni di funzioni, classi, variabili o altri oggetti. Un modulo ti permette di organizzare il codice in modo logico e riutilizzabile. Python include una libreria standard di moduli predefiniti, ma puoi anche creare i tuoi moduli personalizzati.
Ecco un esempio di un modulo Python chiamato matematica.py
che contiene alcune semplici funzioni matematiche:
# matematica.py
def somma(a, b):
return a + b
def sottrazione(a, b):
return a - b
Importare Moduli in Python
Per utilizzare un modulo in un altro file, puoi importarlo utilizzando la parola chiave import
. Una volta importato, puoi accedere alle funzioni e variabili definite nel modulo.
Esempio di Importazione di un Modulo
Supponiamo di avere uno script chiamato main.py
nella stessa directory del modulo matematica.py
. Possiamo importare il modulo matematica
in questo modo:
# main.py
import matematica
print(matematica.somma(5, 10)) # Output: 15
print(matematica.sottrazione(10, 5)) # Output: 5
In questo esempio, stiamo importando tutto il modulo matematica
, e poi accediamo alle funzioni somma
e sottrazione
utilizzando la notazione matematica.somma
e matematica.sottrazione
.
Importare Funzioni Specifiche
Se desideri importare solo alcune funzioni o variabili da un modulo, puoi utilizzare la sintassi from ... import
. Questo ti permette di evitare la notazione modulo.nome
:
from matematica import somma
print(somma(5, 10)) # Output: 15
In questo caso, abbiamo importato solo la funzione somma
e possiamo usarla direttamente senza dover scrivere matematica.somma
.
Importare Tutto da un Modulo
Se vuoi importare tutto da un modulo senza dover specificare i nomi individuali, puoi usare from ... import *
. Tuttavia, questo approccio è sconsigliato poiché può causare conflitti di nomi se più moduli hanno funzioni con lo stesso nome.
from matematica import *
print(somma(5, 10)) # Output: 15
print(sottrazione(10, 5)) # Output: 5
In questo esempio, tutte le funzioni di matematica.py
vengono importate e sono accessibili direttamente.
Utilizzo di Alias con as
Python ti consente anche di assegnare un alias a un modulo o a una funzione quando lo importi, rendendo il codice più leggibile o più breve.
Esempio di Alias per Modulo
import matematica as mat
print(mat.somma(5, 10)) # Output: 15
In questo esempio, matematica
viene importato con l’alias mat
, che possiamo usare per accedere alle sue funzioni.
Esempio di Alias per Funzioni
from matematica import somma as add
print(add(5, 10)) # Output: 15
Qui, la funzione somma
viene importata con l’alias add
.
Moduli Incorporati (Built-in)
Python offre una vasta libreria di moduli incorporati che puoi usare senza installazioni aggiuntive. Alcuni esempi comuni includono:
Esempio con il Modulo math
Il modulo math
include funzioni matematiche avanzate come la radice quadrata, il logaritmo e le funzioni trigonometriche.
import math
print(math.sqrt(16)) # Output: 4.0
print(math.pi) # Output: 3.141592653589793
Esempio con il Modulo random
Il modulo random
ti consente di generare numeri casuali e selezionare elementi casuali da una lista.
import random
print(random.randint(1, 10)) # Numero casuale tra 1 e 10
Importare Moduli Esterni
Python ha un vasto ecosistema di librerie esterne che puoi installare utilizzando pip, il gestore dei pacchetti Python. Ad esempio, puoi installare la libreria requests
per fare richieste HTTP.
Installare Moduli con pip
Puoi installare un modulo esterno con pip direttamente dalla riga di comando:
pip install requests
Importare Moduli Esterni
Dopo l’installazione, puoi importare il modulo nel tuo codice come qualsiasi altro modulo:
import requests
response = requests.get("https://api.github.com")
print(response.status_code)
Moduli Personalizzati
Puoi creare i tuoi moduli semplicemente scrivendo del codice Python in un file .py
e importandolo in altri script. Questo è utile per organizzare progetti più grandi e riutilizzare codice tra file diversi.
Esempio di Modulo Personalizzato
Supponiamo di avere un file calcoli.py
con alcune funzioni matematiche:
# calcoli.py
def moltiplica(a, b):
return a * b
def dividi(a, b):
if b == 0:
return "Errore: divisione per zero"
return a / b
Puoi importare questo modulo in un altro script, come main.py
:
# main.py
import calcoli
print(calcoli.moltiplica(5, 3)) # Output: 15
print(calcoli.dividi(10, 2)) # Output: 5.0
Pacchetti: Moduli Organizzati in Cartelle
Un pacchetto è una cartella che contiene più moduli e un file speciale chiamato __init__.py
. Il file __init__.py
segnala a Python che la directory dovrebbe essere trattata come un pacchetto.
Struttura di un Pacchetto
mio_pacchetto/
├── __init__.py
├── modulo_a.py
└── modulo_b.py
Importare da un Pacchetto
Se hai un pacchetto chiamato mio_pacchetto
, puoi importare i moduli contenuti al suo interno:
from mio_pacchetto import modulo_a, modulo_b
Importare da Altre Directory
Per importare moduli da una directory diversa, puoi aggiungere il percorso della directory al sys.path
.
import sys
sys.path.append('/percorso/della/directory')
import nome_modulo
Considerazioni Finali
Importare moduli in Python ti permette di sfruttare al massimo la potenza del linguaggio, rendendo il tuo codice più modulare e riutilizzabile. Che tu stia importando moduli della libreria standard, pacchetti esterni o moduli personalizzati, l’importazione dei moduli ti aiuta a organizzare meglio il tuo progetto.