File size: 1,360 Bytes
bcf1c8c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
"""
SPIEGAZIONE DI QUESTO FILE

Immagina le cartelle del tuo computer come delle semplici scatole. Per Python, una cartella è solo una scatola "muta": non sa che dentro c'è del codice collegato che può essere usato altrove.

Il file __init__.py serve a trasformare quella scatola in un Pacchetto (Package).

1. La metafora della "Bandiera" 🚩
Pensa al file __init__.py come a una bandiera piantata sopra la cartella che dice a Python:

"Ehi! Questa non è una cartella qualsiasi piena di file a caso. Questa è una libreria di codice Python! Puoi entrare qui e importare le funzioni che trovi."

2. Cosa fa tecnicamente?
Senza __init__.py: Se scrivi from app.api import main, Python potrebbe dirti "Non trovo app", perché la tratta come una semplice directory di file.

Con __init__.py: Python riconosce app come un oggetto importabile e ti permette di navigare al suo interno con il punto (.).

3. Perché ti serviva per i test?
Quando hai lanciato pytest, lui doveva collegare due mondi separati: la cartella tests e la cartella app. Mettendo __init__.py, hai detto a Python che tutto il tuo progetto è un insieme di moduli collegati, permettendo al file di test di "vedere" e importare il codice della tua applicazione principale.

Nota: Il file può essere (e spesso è) completamente vuoto. La sua sola presenza è sufficiente a fare la magia.

"""