paquetage

Anglais : package

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

Documentation Python sur les packages.

A quoi reconnait-on un paquetage?

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 instruction import. 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






» Glossaire du langage python