Un paquetage est un répertoire système (system directory) qui
peut peut contenir un ou plusieurs modules et un ou
plusieurs sous-paquetages. Les paquetages, comme les répertoires,
forment une arborescence dont les feuilles sont constituées des
modules.
Qui dit arborescence, dit notation pointée.
A.B.C.M # le module du
sous-paquetage C du sous-paquetage B du paquetage A. C'est le
"nom" complet
C'est une moyen de structurer l'espace des noms Python, que ce
soit pour les applications, les bibliothèques, la distribution de
Python. Il peux y avoir 2 modules M dans des
paquetages différents
Un paquetage doit obligatoirement contenir un fichier
(module) _init_.py. Si vous
l'oubliez, c'est raté.
Ce module peut être
vide ou contenir des instructions
d’initialisation, en particulier d'une variable qui s'appelle
_all_
Les subtilités de instructionimport. Plusieurs
modules peuvent
avoir le même nom (l'exemple du tutoriel)
On souhaite appeler une fonction echofilter
du module echo du
sous-paquetage effects du paquetage sound.
1ère solution.
import
sound.effects.echo # on importe ce nom complet, ce qui nous
oblige à l'utiliser pour appeler la fonction
sound.effects.echo.echofilter(...)
2ème solution.
from sound.effects import echo # on
importe le module echo du
paquetage soud.effects
On peut directement écrire :
echo.echofilter(...)
3ème solution.
from sound.effects.echo import echofilter
# on importe la fonction que l'on
peut directement appeler
echofilter(...)
Remarque avancée : Ne pas abuser de import * pour des
raisons de performance.
Le chargement de grosses bibliothèques peut prendre beaucoup de
temps (cf tutoriel python). La variable _all_ initialisée dans
_init_.py listent
les paquetages à charger.
Remarque avancée : Les appels croisés entre paquetages. Nom
relatifs