Moduli e pacchetti Python: organizzazione di progetti di codice

Comprendere moduli e pacchetti Python. Scopri come importare file, strutturare progetti di grandi dimensioni, utilizzare la libreria standard e utilizzare importazioni assolute e relative.

Prova nell'editor

Panoramica

Man mano che le applicazioni crescono, mantenere tutto il codice in un singolo file diventa impossibile da gestire, leggere ed eseguire il debug. Python risolve questo problema organizzando il codice in moduli e pacchetti. Un modulo è semplicemente un file Python (che termina con `.py`) contenente variabili, funzioni, classi e istruzioni eseguibili. Suddividendo il codice in moduli logici, puoi creare una base di codice pulita e riutilizzabile, facile da testare e condividere tra diverse applicazioni.

Per utilizzare il codice da un modulo in un altro, Python utilizza la parola chiave "import". Puoi importare un intero modulo (ad esempio, `import math`), importare attributi specifici (ad esempio, `from math import pi, sqrt`) o importare un modulo con un alias per mantenere il codice conciso (ad esempio, `import pandas as pd`). Il sistema di importazione di Python ricerca attraverso un elenco di percorsi specifico, iniziando dalla directory corrente, seguita dalle directory di installazione e dalla libreria standard, prima di risolvere l'importazione.

Un pacchetto è una raccolta di moduli organizzati in una struttura di directory. Per definire una directory come pacchetto, tradizionalmente conteneva un file chiamato `__init.py` (sebbene questo sia facoltativo per i pacchetti dello spazio dei nomi inPython 3.3+). Questa struttura consente di raggruppare i moduli correlati sotto un unico spazio dei nomi. Ad esempio, un pacchetto denominato "database" potrebbe contenere i moduli "connection.py" e "queries.py". Importerai i loro contenuti utilizzando la notazione punto: `import database.connection`. Padroneggiare moduli e pacchetti è fondamentale per strutturare applicazioni Python scalabili e pronte per la produzione.

Codice e output di esecuzione

Utilizzo del sistema di importazione di Python per accedere alle funzioni matematiche e utilizzo di alias personalizzati.

import_demo.py
Prova nell'editor
import math
from math import sqrt as square_root

# Calculate mathematical constants and values
val = 16
result = square_root(val)
pi_value = math.pi

print(f"Square root of {val} is {result}")
print(f"Value of Pi: {pi_value:.4f}")
print(f"Cosine of 0 is {math.cos(0)}")
Uscita terminale
Square root of 16 is 4.0
Value of Pi: 3.1416
Cosine of 0 is 1.0

Implementazione passo dopo passo

  • Separazione della logica aziendale dai gestori del percorso
  • Utilizzo di utilità di libreria standard in tutte le applicazioni
  • Pubblicazione del codice come librerie open source riutilizzabili

Domande frequenti

Qual è lo scopo di __init.py?

Inizializza una directory come pacchetto Python. Può anche essere utilizzato per esporre sottomoduli o variabili specifici a livello di pacchetto per facilitare l'importazione.

Come installo i moduli esterni?

Utilizzi il gestore pacchetti di Python, pip, tramite la riga di comando (ad esempio, richieste di installazione pip) che scarica e installa il pacchetto da PyPI.

Argomenti correlati

Risorse Python consigliate

Espandi le tue conoscenze con tutorial interattivi, foglietti illustrativi e confronti di codici correlati.