Python: Modules, bibliothèques: Difference between revisions
Wiki-cours (talk | contribs) No edit summary |
Wiki-cours (talk | contribs) |
||
(5 intermediate revisions by the same user not shown) | |||
Line 4: | Line 4: | ||
== Généralités == | == Généralités == | ||
Le nom du module est déterminé par le nom des fichiers de la forme '''module.py''' | Le nom du module est déterminé par le nom des fichiers de la forme '''module.py'''. Un module crée un 'espace de nommage' qui correspond au nom du module. | ||
<source lang=python> | <source lang=python> | ||
import module | import module | ||
print(module.fonction(10)) | |||
</source> | </source> | ||
Par convention, on préfixe d'un caractère souligné _ les fonctions, variables et classes destinées à être utilisées dans le fonctionnement interne du module mais pas par l'utilisateur. L'utilisateur peut toujours accéder à ces données mais un import global par la commande | Par convention, on préfixe d'un caractère souligné _ les fonctions, variables et classes destinées à être utilisées dans le fonctionnement interne du module mais pas par l'utilisateur. L'utilisateur peut toujours accéder à ces données mais un import global par la commande | ||
Line 22: | Line 23: | ||
<source lang=python> | <source lang=python> | ||
import bibliotheque | import bibliotheque | ||
print bibliotheque.fonction(argument) | print(bibliotheque.fonction(argument)) | ||
print bibliotheque.constante | print(bibliotheque.constante) | ||
</source> | </source> | ||
ou bien en utilisant un nom raccourci | ou bien en utilisant un nom raccourci | ||
<source lang=python> | <source lang=python> | ||
import bibliotheque as bib | import bibliotheque as bib | ||
print bib.fonction(argument) | print(bib.fonction(argument)) | ||
</source> | </source> | ||
ou en important uniquement la fonction voulue | ou en important uniquement la fonction voulue | ||
<source lang=python> | <source lang=python> | ||
from bibliotheque import fonction | from bibliotheque import fonction | ||
print fonction(argument) | print(fonction(argument)) | ||
</source> | </source> | ||
ou encore, on importe toutes les fonctions de la bibliothèque | ou encore, on importe toutes les fonctions de la bibliothèque | ||
<source lang=python> | <source lang=python> | ||
from bibliotheque import * | from bibliotheque import * | ||
print fonction(argument) | print(fonction(argument)) | ||
</source> | </source> | ||
Un exemple simple pour récupérer le nombre <math>\pi</math> défini comme '''pi''' dans la bibliothèque '''math''' | Un exemple simple pour récupérer le nombre <math>\pi</math> défini comme '''pi''' dans la bibliothèque '''math''' | ||
<source lang=python> | <source lang=python> | ||
import math | import math | ||
print math.pi | print(math.pi) | ||
</source> | </source> | ||
Une fois les bibliothèques importées, il n'y a plus besoin de les importer de nouveau. | Une fois les bibliothèques importées, il n'y a plus besoin de les importer de nouveau. | ||
<!-- | |||
==== En Python 2.7 ==== | |||
Si besoin (rare en pratique), on peut les recharger ou éliminer l'espace de nom ainsi créé par les commandes | Si besoin (rare en pratique), on peut les recharger ou éliminer l'espace de nom ainsi créé par les commandes | ||
<source lang=python> | <source lang=python> | ||
Line 51: | Line 55: | ||
del module | del module | ||
</source> | </source> | ||
Par exemple | |||
<source lang=python> | |||
import math | |||
math.pi = -1.0 | |||
print(math.pi) | |||
reload(math) | |||
print(math.pi) | |||
</source> | |||
En python 3, la fonction '''reload''' est contenue dans le module '''importlib''' et n'est plus un mot-clé. De plus, reloader un module des builtins n'est pas recommandé, l'exemple ci-dessus ne fonctionne pas. | |||
--> | |||
== Aide == | == Aide == | ||
On peut faire afficher dans l'output la documentation d'une bibliothèque par la fonction '''help()''': | On peut faire afficher dans l'output la documentation d'une bibliothèque par la fonction '''help()''': |
Latest revision as of 12:04, 6 September 2016
Généralités
Le nom du module est déterminé par le nom des fichiers de la forme module.py. Un module crée un 'espace de nommage' qui correspond au nom du module.
import module
print(module.fonction(10))
Par convention, on préfixe d'un caractère souligné _ les fonctions, variables et classes destinées à être utilisées dans le fonctionnement interne du module mais pas par l'utilisateur. L'utilisateur peut toujours accéder à ces données mais un import global par la commande
from module import *
n'importera pas les noms ainsi préfixés.
Par convention, les méthodes spéciales de Python sont de la forme __nom__ avec deux caractères soulignés avant et après le nom.
Syntaxe d'importation des modules
On rappelle les méthodes d'import d'une fonction depuis une bibliothèque ou un module: Import de l'espace de nom de la bibliothèque:
import bibliotheque
print(bibliotheque.fonction(argument))
print(bibliotheque.constante)
ou bien en utilisant un nom raccourci
import bibliotheque as bib
print(bib.fonction(argument))
ou en important uniquement la fonction voulue
from bibliotheque import fonction
print(fonction(argument))
ou encore, on importe toutes les fonctions de la bibliothèque
from bibliotheque import *
print(fonction(argument))
Un exemple simple pour récupérer le nombre défini comme pi dans la bibliothèque math
import math
print(math.pi)
Une fois les bibliothèques importées, il n'y a plus besoin de les importer de nouveau.
Aide
On peut faire afficher dans l'output la documentation d'une bibliothèque par la fonction help():
help(bibliotheque)