Importez un paquet Python
Comme nous l'avons déjà vu, pour utiliser un module Python dans la bibliothèque standard de Python, vous pouvez utiliser la syntaxe que vous connaissez déjà :
import <module>
Par exemple, si vous voulez utiliser le module os
de la bibliothèque standard de Python pour afficher le répertoire de travail actuel, vous pouvez créer un fichier script.py
contenant les éléments suivants :
import os
print(os.getcwd())
Vous pouvez ensuite exécuter script.py
à partir du terminal, à l'aide de python script.py
:
$ python script.py /Users/george
Dans le script, nous importons le module os
en entier et utilisons l’une de ses nombreuses possibilités via os.getcwd()
.
Nous avons également la possibilité d'utiliser la commande import
pour importer uniquement certaines fonctionnalités de os
, mais pas toutes. Pour importer uniquement les fonctionnalités dont nous avons besoin, nous écrivons ceci :
from os import getcwd
print(getcwd())
Nous importons des paquets dans des fichiers Python de la même façon que nous importons des modules de la bibliothèque standard. Par exemple, nous pouvons nous servir du paquet numpy
pour arrondir les nombres à l'entier inférieur ou supérieur.
D'abord, installons numpy
en exécutant pip install numpy
à partir du terminal :
$ pip install numpy Collecting numpy Using cached https://files.pythonhosted.org/packages/5c/f5/0e5e57fa7683cf0e5036320f4676cd7e3dbd9ab8c17ada541c2bb5ebed5e/numpy-1.19.0-cp37-cp37m-macosx_10_9_x86_64.whl Installing collected packages: numpy Successfully installed numpy-1.19.0
Maintenant, nous pouvons utiliser import
pour importer numpy
dans un script Python, et nous en servir pour arrondir des nombres à l'entier inférieur ou supérieur. Créez un script Python appelé number_rounding.py
et écrivez-y ceci :
import numpy
print(numpy.ceil(1.2))
print(numpy.ceil(1.933))
print(numpy.floor(1.2))
Comme vous pouvez le constater, nous utilisons import
pour importer le paquet Python numpy
de la même façon que pour importer des modules de la bibliothèque standard, tels que json
, os
, datetime
et re
. L'exécution de number_rounding.py
doit générer le résultat suivant :
$ python number_rounding.py 2.0 2.0 1.0
Importez tout le contenu d'un paquet Python
Une alternative à l'utilisation de la syntaxe import <package>
consiste à importer tout le contenu d'un paquet à l'aide de la commande from <package> import *
. Cela est utile lorsque vous utilisez le shell Python, car cela permet de saisir moins de code. ;)
Par exemple, commençons par ouvrir le shell Python en saisissant python
dans le terminal de ligne de commande :
$ python Python 3.7.1 (default, Dec 14 2018, 13:28:58) [Clang 4.0.1 (tags/RELEASE_401/final)] :: Anaconda, Inc. on darwin Type "help", "copyright", "credits" or "license" for more information. >>>
Maintenant, importons tout le contenu du paquet numpy
à l'aide de from numpy import *
:
$ python Python 3.7.1 (default, Dec 14 2018, 13:28:58) [Clang 4.0.1 (tags/RELEASE_401/final)] :: Anaconda, Inc. on darwin Type "help", "copyright", "credits" or "license" for more information. >>> from numpy import * >>>
Maintenant, nous pouvons utiliser les méthodes ceil()
et floor()
sans avoir besoin du préfixe numpy.
:
$ python Python 3.7.1 (default, Dec 14 2018, 13:28:58) [Clang 4.0.1 (tags/RELEASE_401/final)] :: Anaconda, Inc. on darwin Type "help", "copyright", "credits" or "license" for more information. >>> from numpy import * >>> ceil(1.2) 2.0 >>> floor(1.2) 1.0
Création d'alias de paquets
Lorsque vous importez des paquets, vous avez également la possibilité de les importer avec un alias à l'aide de la commande import <package> as <alias>
. Curieusement, cette méthode est très répandue pour certains paquets, mais considérée comme atypique pour d'autres.
Par exemple, il est habituel d'importer numpy
à l'aide de la commande import numpy as np
. Si nous appliquons ce type d'importation à number_rounding.py
, le résultat est le suivant…
import numpy as np
print(np.ceil(1.2))
print(np.ceil(1.933))
print(np.floor(1.2))
Sa fonctionnalité reste inchangée ; donc si nous l'exécutons à l'aide de Python, le résultat est exactement le même :
$ python number_rounding.py 2.0 2.0 1.0
L'usage de l'alias np
dans ce cas signifie que pour de grandes applications avec beaucoup de code, ce dernier devient légèrement plus lisible et compréhensible avec l’alias, et donc plus facile à maintenir ou à étendre.
Pour en savoir un peu plus sur l'importation de paquets Python, regardez cette vidéo :
En résumé
Maintenant que vous avez terminé ce chapitre, vous devriez pouvoir effectuer aisément les tâches suivantes :
Utiliser la commande
import
pour importer des paquets Python dans des fichiers Python de la même façon que pour importer des modules de la bibliothèque standard.Familiarisez-vous avec différentes méthodes d'importation de modules et de paquets, puis choisissez la méthode qui convient le mieux à votre cas d'usage particulier. ;)
Maintenant que vous êtes à l'aise pour importer des paquets et des modules, examinons pourquoi il est important de gérer les versions de paquets dans le développement de logiciels.