0% ont trouvé ce document utile (0 vote)
17 vues18 pages

Introduction aux modules Python

Le document décrit les modules dans Python, y compris comment importer et utiliser des modules prédéfinis et créer ses propres modules réutilisables.

Transféré par

ASMAE CHRAIBI
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
17 vues18 pages

Introduction aux modules Python

Le document décrit les modules dans Python, y compris comment importer et utiliser des modules prédéfinis et créer ses propres modules réutilisables.

Transféré par

ASMAE CHRAIBI
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Plan du cours

• Partie 2 : Programmation en Python

• Introduction
• Types de langages
• Les variables
• Les entrées/sorties
• Les commentaires
• Les instructions
• Blocs et indentation
• Structures de données sous Python
• Les fonction et procédures
• Les modules

Ecole Nationale Supérieure de Chimie de Kénitra - Pr. Anass Nouri


Modules

• Les modules dans Python


• Python possède plusieurs modules prêts à être utilisés par le programmeur.


• Les modules sont des codes (fonctions et variables) contenus dans des
fichiers qui peuvent être réutilisés afin d’arriver rapidement à votre objectif
sans pour autant les recoder (Evitez toujours de réinventez la roue,
cependant comprenez comme elle fonctionne). 


• Pour utiliser les fonctions et variables d’un module, il faut l’importer. 


Ecole Nationale Supérieure de Chimie de Kénitra - Pr. Anass Nouri


Modules

• Importer un module avec import


• Prenons exemple du module Math. Ce dernier permet d’utiliser des
fonctions mathématiques.


• Le module n’est pas importé par défaut. C’est pour cela qu’il faut l’importer
afin d’utiliser ses fonctions.


• Pour utiliser les fonctions et variables d’un module, il faut l’importer.


#!/usr/bin/python3

import math
a=4
resultat = [Link](a) #appel de la fonction sqrt qui calcule la racine carrée
print(resultat) #affiche 2

• NB : L’instruction import math importe tout le module math. C’est à dire, elle
importe toutes les fonctions et variables appartenant au module math.
Ecole Nationale Supérieure de Chimie de Kénitra - Pr. Anass Nouri
Modules

• Notion d’espace de noms


• Lors de l’importation du module math, un espace de nom dénommé “math”
se crée. 


• L’instruction [Link](25) signifie que l’on appelle la fonction sqrt


contenue dans l’espace de noms “math”.


• Une autre fonction, définie par vous même dans l’espace de nom principal
ne sera pas en conflit avec la fonction sqrt appartenant à l’espace de noms
math.
#!/usr/bin/python3
import math

def sqrt(a):
return a+3
a=4
print([Link](a)) #affiche 2
print(sqrt(a)) #affiche 7

Ecole Nationale Supérieure de Chimie de Kénitra - Pr. Anass Nouri


Modules

• Notion d’espace de noms (2)


#!/usr/bin/python3
import math

a=4
b = -1

• Dans l’espace de nom principal (que l’on utilise depuis le début), on trouve
les variables :
• a
• b


• En revanche, dans l’espace de nom math, on trouve les variables pi, la


fonction sqrt, etc.


Ecole Nationale Supérieure de Chimie de Kénitra - Pr. Anass Nouri


Modules

• Notion d’espace de noms (3)


• Parfois, il arrive que l’on veuille changer le nom de l’espace de nom dans
lequel un module est importé pour expliciter davantage le nom ou pour
l’abréger. 


Exemple : 

#!/usr/bin/python3
import math as mathematiques

a=4
resultat = [Link](a)

Ecole Nationale Supérieure de Chimie de Kénitra - Pr. Anass Nouri


Modules

• Une autre méthode d’importation de modules


#!/usr/bin/python3

from math import fabs

a = -5
resultat = fabs(a) #appel de la fonction fabs
print(resultat) #affiche 5

• Le code ci-dessus permet d’importer uniquement la fonction fabs (valeur


absolue) appartenant au module Math.
• Attention, la fonction fabs dans ce cas appartient à l’espace de nom
principal !

Ecole Nationale Supérieure de Chimie de Kénitra - Pr. Anass Nouri


Modules

• Une autre méthode d’importation de modules (2)


#!/usr/bin/python3

from math import * # l’étoile signifie TOUT (ALL)

a = -5
resultat = fabs(a) #appel de la fonction fabs
print(resultat) #affiche 5

• Le code ci-dessus permet d’importer toutes les fonctions et variables du


module Math.
• Attention, toutes les fonctions et variables du module Math appartiennent
dorénavant à l’espace de nom principal.
Cette manière (from xx import *) d’importation est à éviter

car elle ne permet pas d’avoir une vision claire des méthodes

importées. Mieux vaut importer tout le module avec : 

import module
Ecole Nationale Supérieure de Chimie de Kénitra - Pr. Anass Nouri
Modules

• Quelle méthode d’importation utiliser ?


• La deuxième méthode d’importation (from xx import xx) a l’avantage
d’importer que les fonctions dont on a besoin dans notre programme et
surtout, elle permet d’économiser la saisie systématique du nom de module
avant chaque fonction ou variable.


• En revanche, l’inconvenient de cette deuxième méthode (from xx import


xx) réside dans l’importation de plusieurs modules. Imaginons ce cas de
figure :
#!/usr/bin/python3
from math import fabs
from mon_module import fabs

a=-1
resultat = fabs (a) # quelle fonction fabs a t-elle été appelée?

Si deux fonctions portant le même nom sont importées,



alors l’interpréteur conserve uniquement la dernière
Ecole Nationale Supérieure de Chimie de Kénitra - Pr. Anass Nouri
Modules

• Le help dans Python ?


• Beaucoup de modules existent dans Python. Dans ces modules, beaucoup
de fonctions et variables sont prédéfinies pour être utilisées. Par quel
moyen peut-on connaitre les détails des modules ? => help("module") ou
help(“fonction”) :


1)Dans le terminal, on tape Python3 (ou Python) pour entrer dans 

l’interpréteur Python

Ecole Nationale Supérieure de Chimie de Kénitra - Pr. Anass Nouri


Modules

• Le help dans Python ? (2)


• 2) Nous pouvons par exemple afficher la documentation du module math avec
help("math") :

Pour avancer d’une ligne, taper la touche Entrée


Pour avancer d’une page, taper la touche Espace
Pour quitter la documentation, taper la touche q
Pour quitter l’interpréteur, taper la touche ctrl + d
Ecole Nationale Supérieure de Chimie de Kénitra - Pr. Anass Nouri
Modules

• Créez vos propre modules !


• Comme expliqué plus haut, les modules sont des fichiers contenant du code
(fonctions + variables) que vous pouvez utiliser dans vos programmes.
• Vous pouvez créer vos propres modules, réutilisables par vous mêmes ou par
d’autres utilisateurs.
• Créons un fichier [Link] dans lequel nous définissons deux fonctions
carre() et cube().

#!/usr/bin/python3

def carre(valeur):
resultat = valeur**2
return resultat

def cube(valeur):
resultat = valeur**3
return resultat

fichier [Link]

Ecole Nationale Supérieure de Chimie de Kénitra - Pr. Anass Nouri


Modules

• Créez vos propre modules ! (2)


• Le fichier [Link] est un module contenant deux fonctions que l’on peut
utiliser dans un autre fichier [Link] contenant notre programme principal. 

Pour cela, il faudra importer le module puissance que l’on a défini. La manière de
l’importation dépendra de quelle fonction voulons-nous utiliser dans notre
programme principal.

Scénario 1

#!/usr/bin/python3

import puissance

a=4

resultat_carre = [Link](4)
resultat_cuble = [Link](4)

fichier [Link]

Ecole Nationale Supérieure de Chimie de Kénitra - Pr. Anass Nouri


Modules

• Créez vos propre modules ! (3)

Scénario 2

#!/usr/bin/python3

from puissance import carre

a=4

resultat_carre = carre(4)
resultat_cuble = [Link](4) # ERREUR. puissance non reconnu !

fichier [Link]

Ecole Nationale Supérieure de Chimie de Kénitra - Pr. Anass Nouri


Modules

• Créez vos propre modules ! (4)

Scénario 3

#!/usr/bin/python3

from puissance import carre as ca #on a donné un alias ca à la fonction carre

a=4

resultat_carre = ca(4)

fichier [Link]

Ecole Nationale Supérieure de Chimie de Kénitra - Pr. Anass Nouri


Modules

• Tester un module dans lui même !


• Reprenons le code du module [Link]
#!/usr/bin/python3

def carre(valeur):
resultat = valeur**2
return resultat

def cube(valeur):
resultat = valeur**3
return resultat

fichier [Link]
• Ce module définit deux fonctions carre() et cube(). Il est intéressant de tester ces
deux fonctions. Nous pouvons rajouter la ligne print(carre(4)) à la fin du fichier.
Cependant, lors de l’importation de ce module dans un autre fichier, la ligne
print(carre(4)) sera exécutée or ce n’est pas l’objectif !

Ecole Nationale Supérieure de Chimie de Kénitra - Pr. Anass Nouri


Modules

• Tester un module dans lui même ! (2)


• Objectif : Séparer les éléments du code qui doivent être exécutés lorsqu’on
exécute le module directement en tant que programme ou bien lorsqu’on l’importe
dans un autre fichier.
#!/usr/bin/python3 Si on execute le module [Link] 


 avec : python3 [Link] , nous aurons

import os
comme résultat : 

def carre(valeur): carre de 4 : 16

resultat = valeur**2 cube de 4 : 64
return resultat

def cube(valeur): or, si l’on importe le module dans un autre

resultat = valeur**3 fichier pour pouvoir utiliser les deux fonctions,

return resultat
 les instructions de test des fonctions ne seront


#test des fonctions
pas exécutées. 

if __name__ == "__main__ " Ceci est possible grace à la variable __name__

print(" carre de 4 : ", carre(4)) qui est est égale à __main__ lorsque le module

print(" cube de 4 : ", cube(4))
 est exécuté en tant que programme.
[Link]("pause")

fichier [Link]
Ecole Nationale Supérieure de Chimie de Kénitra - Pr. Anass Nouri
Modules

• Notion de Package (ou bibliothèque)


• Dans de gros projets, il y a souvent plusieurs modules. Ces derniers peuvent être
organisés dans des dossiers appelés Packages. Des packages peuvent aussi
contenir des sous-packages.

#!/usr/bin/python3

import [Link]

resultat_diametre = [Link]()
diametre() cote() resultat_cote = [Link]()
arc() perimetre()

[Link] [Link] module

[Link] package

Ecole Nationale Supérieure de Chimie de Kénitra - Pr. Anass Nouri

Vous aimerez peut-être aussi