17.12.2012 Views

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Paquets<br />

>>> # >= Python 2.4<br />

...<br />

>>> from absmod3 import (absmod3,<br />

absmod3,<br />

absmod6)<br />

Structuration du code<br />

CHAPITRE 5<br />

Il existe aussi un raccourci pour importer tous les éléments d’un module, le joker.<br />

Tous les éléments d’un même module<br />

>>> from absmod3 import *<br />

Lorsqu’un module définit par exemple une série de constantes, l’utilisation du joker<br />

pour avoir accès à ces constantes dans le code est très pratique. Certains toolkits graphiques,<br />

comme Tkinter ou wx, sont organisés de telle manière que l’utilisation d’un<br />

joker est conseillée. En dehors de ces cas particuliers, cette notation est à proscrire<br />

car elle réduit considérablement la visibilité des dépendances entres modules.<br />

Un deuxième niveau d’organisation permet de structurer le code : les fichiers Python<br />

peuvent être organisés dans une arborescence de répertoires que l’on appelle paquet.<br />

Chaque répertoire peut être utilisé dans une directive d’importation au même titre<br />

qu’un fichier.<br />

Le caractère . joue alors le rôle de séparateur, pour localiser un module dans une<br />

arborescence de répertoire.<br />

Organisation d’un paquet<br />

Prenons l’exemple d’une application de gestion de fichiers clients. Le programme<br />

possède un noyau autour duquel sont organisés une interface graphique, un moteur<br />

de base de données, et un module métier qui permet d’appliquer des calculs statistiques<br />

sur les clients. On peut représenter cette organisation sous la forme de<br />

répertoires :<br />

FichierClient<br />

| __init__.py<br />

| description.py<br />

|- noyau<br />

| | __init__.py<br />

| | application.py<br />

137

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!