Ogni volta che lo faccio from 'x' import 'y'
mi chiedevo quale sia considerato il 'modulo' e quale sia il 'pacchetto', e perché non è il contrario?
Ogni volta che lo faccio from 'x' import 'y'
mi chiedevo quale sia considerato il 'modulo' e quale sia il 'pacchetto', e perché non è il contrario?
Risposte:
Un modulo Python è semplicemente un file sorgente Python, che può esporre classi, funzioni e variabili globali.
Se importato da un altro file sorgente Python, il nome del file viene trattato come uno spazio dei nomi.
Un pacchetto Python è semplicemente una directory dei moduli Python.
Ad esempio, immagina il seguente albero di directory in /usr/lib/python/site-packages
:
mypackage/__init__.py <-- this is what tells Python to treat this directory as a package
mypackage/mymodule.py
Quindi allora faresti:
import mypackage.mymodule
o
from mypackage.mymodule import myclass