Notes et transcriptions du cours “Mettez en place votre environnement Python” disponible sur la plateforme Openclassrooms.
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 :
python3 script.py
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 la commande ci-dessous depuis à le terminal :
pip install numpy
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 :
python3 number_rounding.py 2.0 2.0 1.0
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 python3 dans le terminal de ligne de commande :
# Execution de Python3 en mode interactif
python3
Depuis la console Python, importons tout le contenu du paquet numpy à l'aide de from numpy import *
from numpy import *
Maintenant, nous pouvons utiliser les méthodes ceil()
et floor()
sans avoir besoin du préfixe numpy.
:
ceil(1.2) 2.0 floor(1.2) 1.0
from <package> import *
dans le shell Python soit correcte, elle n'est pas considérée comme une bonne pratique dans le code d'une application. Si vous utilisez from <package_a> import *
et from <package_b> import *
, et qu'un conflit de noms se produise entre les fonctionnalités de package_a
et de package_b
, cela peut entraîner des conséquences indésirables.
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 :
python3 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.
Vous pouvez choisir l'alias que vous voulez, mais en général, il est préférable d'utiliser une abréviation du nom du paquet. Utiliser import numpy as apples
, par exemple, n'aurait aucun sens !
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.