Introduction
Le langage de programmation Python est livré avec une variété de fonctions intégrées. Parmi celles-ci se trouvent plusieurs fonctions courantes, notamment :
print()
qui imprime les expressionsabs()
qui renvoie la valeur absolue d’un nombreint()
qui convertit un autre type de données en entierlen()
qui renvoie la longueur d’une séquence ou d’une collection
Cependant, ces fonctions intégrées sont limitées, et nous pouvons utiliser des modules pour créer des programmes plus sophistiqués.
Les modules sont des fichiers Python .py
qui consistent en du code Python. Tout fichier Python peut être référencé en tant que module. Un fichier Python appelé hello.py
a le nom de module hello
qui peut être importé dans d’autres fichiers Python ou utilisé dans l’interpréteur de ligne de commande Python. Vous pouvez apprendre à créer vos propres modules en lisant Comment écrire des modules en Python 3.
Les modules peuvent définir des fonctions, des classes et des variables auxquelles vous pouvez faire référence dans d’autres fichiers Python .py
ou via l’interpréteur de commandes Python.
En Python, les modules sont accessibles en utilisant l’instruction import
. Lorsque vous le faites, vous exécutez le code du module, en conservant les portées des définitions afin que vos fichiers actuels puissent les utiliser.
Lorsque Python importe un module appelé hello
par exemple, l’interpréteur recherchera d’abord un module intégré appelé hello
. Si un module intégré n’est pas trouvé, l’interpréteur Python recherchera ensuite un fichier nommé hello.py
dans une liste de répertoires qu’il reçoit de la variable sys.path
.
Ce tutoriel vous guidera à travers la vérification et l’installation de modules, l’importation de modules et l’aliasing de modules.
Prérequis
Vous devez avoir Python 3 installé et un environnement de programmation configuré sur votre ordinateur ou votre serveur. Si vous n’avez pas encore configuré d’environnement de programmation, vous pouvez consulter les guides d’installation et de configuration pour un environnement de programmation local ou pour un environnement de programmation sur votre serveur adapté à votre système d’exploitation (Ubuntu, CentOS, Debian, etc.)
Vérification et Installation des Modules
Il existe plusieurs modules intégrés dans la Bibliothèque Standard Python, qui contient de nombreux modules fournissant un accès à la fonctionnalité du système ou proposant des solutions standardisées. La Bibliothèque Standard Python fait partie de chaque installation Python.
Info: Pour suivre les exemples de code de ce tutoriel, ouvrez un shell interactif Python sur votre système local en exécutant la commande python3
. Ensuite, vous pouvez copier, coller ou modifier les exemples en les ajoutant après le prompt >>>
.
Pour vérifier que ces modules Python sont prêts à être utilisés, entrez dans votre environnement de programmation Python 3 local ou dans un environnement de programmation basé sur un serveur et démarrez l’interpréteur Python dans votre ligne de commande comme ceci :
À partir de l’interpréteur, vous pouvez exécuter l’instruction import
pour vous assurer que le module donné est prêt à être appelé, comme ceci :
Comme math
est un module intégré, votre interpréteur devrait exécuter la tâche sans aucun retour, revenant à l’invite. Cela signifie que vous n’avez rien à faire pour commencer à utiliser le module math
.
Exécutons maintenant l’instruction import
avec un module que vous n’avez peut-être pas installé, comme la bibliothèque de tracé 2D matplotlib
:
Si matplotlib
n’est pas installé, vous recevrez une erreur comme ceci :
OutputImportError: No module named 'matplotlib'
Vous pouvez désactiver l’interpréteur Python avec CTRL + D
puis installer matplotlib
avec pip
.
Ensuite, nous pouvons utiliser pip
pour installer le module matplotlib
:
Une fois qu’il est installé, vous pouvez importer matplotlib
dans l’interpréteur Python en utilisant import matplotlib
, et cela se terminera sans erreur.
Importation des modules
Pour utiliser les fonctions d’un module, vous devrez importer le module avec une instruction import
.
Une déclaration import
est composée du mot-clé import
suivi du nom du module.
Dans un fichier Python, cela sera déclaré en haut du code, sous toutes les lignes de shebang ou les commentaires généraux.
Ainsi, dans le fichier de programme Python my_rand_int.py
, nous importerions le module random
pour générer des nombres aléatoires de cette manière :
Lorsque nous importons un module, nous le rendons disponible dans notre programme actuel en tant que namespace distinct. Cela signifie que nous devrons faire référence à la fonction par notation pointée, comme dans [module].[fonction]
.
En pratique, avec l’exemple du module random
, cela peut ressembler à une fonction telle que :
random.randint()
qui appelle la fonction pour retourner un entier aléatoire, ourandom.randrange()
qui appelle la fonction pour retourner un élément aléatoire d’une plage spécifiée.
Créons une boucle
for pour montrer comment nous appellerons une fonction du module random
dans notre programme my_rand_int.py
:
Ce petit programme importe d’abord le module random
à la première ligne, puis passe dans une boucle for
qui travaillera avec 10 éléments. Dans la boucle, le programme affichera un entier aléatoire dans la plage de 1 à 25 (inclus). Les entiers 1
et 25
sont passés à random.randint()
en tant que paramètres.
Lorsque nous exécutons le programme avec python my_rand_int.py
, nous recevrons 10 entiers aléatoires en sortie. Comme ils sont aléatoires, vous obtiendrez probablement différents entiers à chaque exécution du programme, mais ils généreront quelque chose comme ceci :
Output6
9
1
14
3
22
10
1
15
9
Les entiers ne doivent jamais être inférieurs à 1 ou supérieurs à 25.
Si vous souhaitez utiliser des fonctions provenant de plusieurs modules, vous pouvez le faire en ajoutant plusieurs déclarations import
:
Vous pouvez voir des programmes qui importent plusieurs modules avec des virgules les séparant — comme dans import random, math
— mais cela n’est pas conforme au Guide de style PEP 8.
Pour utiliser notre module supplémentaire, nous pouvons ajouter la constante pi
de math
à notre programme, et diminuer le nombre d’entiers aléatoires imprimés :
Maintenant, lorsque nous exécutons notre programme, nous recevrons une sortie qui ressemble à ceci, avec une approximation de pi comme dernière ligne de sortie :
Output18
10
7
13
10
3.141592653589793
La déclaration import
vous permet d’importer un ou plusieurs modules dans votre programme Python, vous permettant ainsi d’utiliser les définitions construites dans ces modules.
Utilisation de from
… import
Pour faire référence aux éléments d’un module dans l’espace de noms de votre programme, vous pouvez utiliser l’instruction from
… import
. Lorsque vous importez des modules de cette manière, vous pouvez faire référence aux fonctions par leur nom plutôt que par la notation pointée.
Dans cette construction, vous pouvez spécifier quelles définitions référencer directement.
Dans d’autres programmes, vous pouvez voir l’instruction import
prendre des références à tout ce qui est défini dans le module en utilisant un astérisque (*
) comme caractère générique, mais cela est déconseillé par PEP 8.
Commençons d’abord par importer une fonction spécifique, randint()
, du module random
:
Ici, nous utilisons d’abord le mot-clé from
, puis random
pour le module. Ensuite, nous utilisons le mot-clé import
et appelons la fonction spécifique que nous aimerions utiliser.
Maintenant, lorsque nous implémentons cette fonction dans notre programme, nous n’écrirons plus la fonction en notation pointée comme random.randint()
, mais écrirons simplement randint()
:
Lorsque vous exécutez le programme, vous obtiendrez une sortie similaire à ce que nous avons reçu précédemment.
L’utilisation de la construction from
… import
nous permet de faire référence aux éléments définis d’un module dans l’espace de noms de notre programme, nous permettant d’éviter la notation pointée.
Aliasage des modules
Il est possible de modifier les noms des modules et de leurs fonctions en Python en utilisant le mot-clé as
.
Vous pouvez vouloir changer un nom car vous avez déjà utilisé le même nom pour autre chose dans votre programme, un autre module que vous avez importé utilise également ce nom, ou vous voulez peut-être abréger un nom plus long que vous utilisez souvent.
La construction de cette déclaration ressemble à ce qui suit :
Modifions le nom du module math
dans notre fichier de programme my_math.py
. Nous allons changer le nom du module math
en m
afin de l’abréger. Notre programme modifié ressemblera à ceci :
Dans le programme, nous faisons maintenant référence à la constante pi
comme m.pi
plutôt que math.pi
.
Pour certains modules, il est courant d’utiliser des alias. La documentation officielle du module matplotlib.pyplot
recommande d’utiliser plt
comme alias :
Cela permet aux programmeurs d’ajouter le mot plus court plt
à n’importe laquelle des fonctions disponibles dans le module, comme dans plt.show()
. Vous pouvez voir cette déclaration d’importation d’alias utilisée dans notre tutoriel « Comment tracer des données en Python 3 en utilisant matplotlib
. »
Conclusion
Lorsque nous importons des modules, nous sommes capables d’appeler des fonctions qui ne sont pas intégrées à Python. Certains modules sont installés dans le cadre de Python, et certains nous les installerons via pip
.
L’utilisation de modules nous permet de rendre nos programmes plus robustes et puissants car nous exploitons du code existant. Nous pouvons également créer nos propres modules pour nous-mêmes et pour d’autres programmeurs à utiliser dans des programmes futurs.
Source:
https://www.digitalocean.com/community/tutorials/how-to-import-modules-in-python-3