> Les bases > Modules et classes > Modules
Modules
Importation d'un module avec
import :
- regarde tous les directories de la variable sys.path dans l'ordre et c'est le premier trouvé qui est utilisé ('' est le directory courante).
- sys.path contient dans l'ordre :
- le directory courant
- les valeurs dans PYTHONPATH
- les directories d'installation des librairies.
- on peut modifier sys.path dans le programme avant de faire des import : sys.path.append('myLibs')
Module :
- a pour nom le nom du fichier.
- on appelle une fonction myFunc du module myModule par myModule.myFunc
- myModule.__name__ donne le nom du module (__main__ si c'est un programme).
Un module contient :
- du code exécutable exécuté uniquement la première fois qu'on l'importe.
- des définitions de fonctions.
Chaque module a son propre espace de nom (on peut accéder à une variable globale du module grâce à myModule.myVar
Importation des modules :
- import myModule : importe le module (permet de le voir).
- from myModule import myFunc1, myFunc2 : importe le module en polluant l'espace de nom avec myFunc1 et myFunc2 (alors l'appel peut se faire directement avec myFunc1 au lieu de myModule.myFunc1).
- from myModule import * : pollue avec tout les noms (sauf ceux commencant par un '_').
Recherche des modules :
- d'abord dans le directory courant.
- puis dans les directories donnés par PYTHONPATH (syntaxe analogue à PATH).
- puis dans les directories d'install des libs python (cf sys.path)
Si un module myModule.pyc (byte code) est trouvé au même endroit que myModule.py (avec même dernière date de modif enregistrée dans le fichier), c'est myModule.pyc qui est utilisé : ceci accelère le démarrage (mais pas l'exécution). myModule.pyc est généré automatiquement à chaque fois que c'est nécessaire.
sys.ps1 et sys.ps2 : sont les 2 prompts de python (uniquement en mode interactif).
dir(myModule) : donne la liste de tous les noms que le module définit.
Permet d'avoir la liste des noms built-in :
import __builtin__
dir(__builtin__)
Utilisation d'un fichier soit en tant que module à importer, soit directement en tant que script :
Package : collection de modules qui sont contenus dans un même directory.
Copyright python-simple.com
programmer en python, tutoriel python, graphes en python, Aymeric Duclert