Python: Modules, bibliothèques: Difference between revisions

From Wiki Cours
Jump to navigation Jump to search
No edit summary
 
(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

<--Sommaire

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)