Recherche de site Web

Comment utiliser les bibliothèques en Python pour en faire plus avec moins de code


Comme pour les autres langages de programmation, Python dispose de bibliothèques pour faciliter les tâches de codage. Voici comment vous pouvez en profiter et comment vous pouvez créer vos propres bibliothèques également.

Quelles sont les bibliothèques Python ?

Les bibliothèques sont des collections de code partagé. Elles sont courantes en Python, où elles sont également appelées « modules », mais elles sont également omniprésentes dans d'autres langages de programmation. Une bibliothèque définit des fonctions que tout programmeur peut utiliser dans ses propres programmes, de la même manière qu'une bibliothèque publique offre à quiconque l'accès à ses ressources.

L'avantage d'utiliser des bibliothèques est que vous pouvez gagner du temps et des efforts en n'ayant pas à coder vos propres solutions. Les bibliothèques ont tendance à être mieux testées et déboguées que tout ce que vous pourriez concevoir. Elles vous permettront également de faire plus que ce que vous pourriez faire seul.

Il existe de nombreuses bibliothèques en Python pour des tâches telles que les graphiques, le développement de jeux, et plus encore. Mes bibliothèques préférées sont généralement celles destinées à l'analyse de données. Python est particulièrement populaire pour les statistiques et la science des données en raison du grand nombre de bibliothèques disponibles pour ces tâches.

Comment installer des bibliothèques Python

Il existe plusieurs façons d'installer des bibliothèques Python sur votre système. Si vous utilisez une distribution Linux, il y aura souvent des bibliothèques Python incluses dans le gestionnaire de paquets de votre distribution. Par exemple, sur les systèmes Debian et Ubuntu, les bibliothèques commenceront souvent par "python-" ou "python3-". Cela installera la bibliothèque pour l'ensemble du système, vous devrez donc disposer des droits administratifs.

Si vous n'avez pas d'accès root ou administratif sur votre système, il existe quand même des moyens d'installer des bibliothèques Python localement.

Vous pouvez utiliser l'outil pip pour installer les bibliothèques Python répertoriées dans l'Index des Packages Python (PyPi).

Par exemple, pour installer NumPy :

pip install numpy
    

Vous pouvez installer des bibliothèques sur une base par projet dans des environnements virtuels en utilisant l'utilitaire virtualenv.

Vous pouvez approfondir les concepts de virtualenv en utilisant Mamba, qui est d'ailleurs ma méthode de prédilection. Mamba est un outil populaire parmi les data scientists et les analystes qui vous permet de créer des environnements spécifiques à chaque projet.

J'ai déjà un environnement Mamba pour le calcul statistique, rempli de plusieurs bibliothèques populaires pour l'analyse de données. Je peux l'activer dans le terminal :

mamba activate stats
    

Beaucoup de bibliothèques Python sont fournies avec le langage. C'est une source de fierté pour la culture Python. La bibliothèque standard de Python contient de nombreux modules pour tout, depuis l'interaction avec le système d'exploitation jusqu'au travail avec les dates et les heures. C'est pourquoi les programmeurs Python aiment dire que le langage a des « piles incluses ».

Importer une bibliothèque Python entière

Pour importer une bibliothèque Python entière dans un script ou en mode interactif Python, utilisez la commande import.

Par exemple, pour importer le module NumPy, utilisez cette commande :

import numpy
    

Avec la bibliothèque importée, vous pouvez accéder aux fonctions de ce module. C'est comme si vous aviez défini un ensemble de fonctions. Les fonctions sont importées sous leur propre espace de noms. Cela signifie que, par défaut, toutes les fonctions de la bibliothèque restent séparées des commandes intégrées de Python. Je vais vous montrer quelques façons de changer cela, mais le comportement par défaut est préférable dans la plupart des situations.

Pour accéder à ces fonctions, vous pouvez appeler le module que vous venez d'importer. C'est effectivement un objet, si vous comprenez comment fonctionne la programmation orientée objet. Ces fonctions sont des méthodes qui sont privées à l'objet que nous venons de créer en important la bibliothèque.

Par exemple, pour calculer la moyenne arithmétique d'un tableau en utilisant NumPy, nous taperions ceci :

numpy.mean(numbers)
    

Cela appelle la fonction mean dans NumPy.

Vous pourriez penser que taper "numpy" à chaque fois que vous voulez accéder aux fonctions est beaucoup, et vous avez raison. Vous pouvez importer des bibliothèques avec d'autres noms comme raccourci. Un exemple courant que vous verrez avec NumPy est de raccourcir le nom en "np" dans les instructions d'importation :

import numpy as np
    

Vous pouvez maintenant vous référer à numpy sous le nom de « np ». Réécrivons ce calcul de moyenne précédent :

np.mean(numbers)
    

Importer une partie d'une bibliothèque (Python interactif uniquement !)

Souvent, lorsque vous travaillez dans une section interactive de Python, comme dans l'interpréteur Python interactif standard ou IPython, vous voudrez souvent importer seulement une ou deux fonctions d'une grande bibliothèque, surtout si vous souhaitez les utiliser à plusieurs reprises durant une session. Cela est également facile à faire en Python.

Pour importer une seule fonction de NumPy dans l'espace de noms principal, vous pouvez utiliser cette construction :

from library import function
    

Par exemple, pour importer la fonction mean de NumPy :

from numpy import mean
    

Vous pouvez également importer plusieurs fonctions en les séparant par des virgules. Par exemple, pour importer les fonctions moyenne et médiane de NumPy :

from numpy import mean, median
    

Avec ces fonctions importées, vous n'aurez pas à les préfixer par « numpy » ou « np. ». Vous pouvez simplement les utiliser comme si elles faisaient partie des fonctions Python par défaut.

Par exemple, pour calculer la moyenne d'un tableau de nombres

mean(numbers)
    

Et la médiane :

median(numbers)
    

Importer uniquement des fonctions est mieux adapté aux sessions interactives de Python car cela permet d'économiser de la saisie. Vous pouvez le faire dans un script, mais ce n’est pas recommandé. Vous pourriez finir par écraser l'espace de noms utilisé pour une fonction Python par défaut. Cela pourrait provoquer un bug dans votre script. Si vous demandez de l'aide en ligne dans un forum ou un chat IRC, les autres Pythonistes pourraient être perplexes. C'est pourquoi vous devriez éviter ce genre d'importations dans les scripts autant que possible.

Créer et importer vos propres bibliothèques Python

Il est également facile d'importer vos propres bibliothèques Python. Vous pouvez le faire sans être un expert en Python. Tout ce dont vous avez besoin est un éditeur de texte et la capacité d'utiliser un terminal.

Les modules Python sont finalement simplement des collections de fonctions définies en Python. Vous pouvez simplement créer un fichier se terminant par .py, de la même manière que vous écriviez un script. Si vous avez créé vos propres fonctions Python, vous pouvez les mettre dans un fichier et les importer, de la même manière que pour tout autre module Python intégré ou installé.

Pour importer un module, assurez-vous qu'il dispose des permissions d'exécution. Vous pouvez utiliser la commande chmod dans les systèmes de type Unix, y compris Linux et le terminal macOS :

chmod +x my_library.py
    

Vous pouvez importer la bibliothèque en utilisant les méthodes décrites précédemment. Si vous êtes dans le même répertoire que le module, vous pouvez simplement utiliser des instructions import. Par exemple, pour importer la bibliothèque :

import my_library
    

Si la bibliothèque se trouve dans un autre répertoire, il existe plusieurs façons de changer le chemin de recherche. La première méthode consiste à utiliser la variable d'environnement PYTHONPATH. C'est une liste de répertoires que Python utilisera pour rechercher des modules. Vous pouvez modifier cela dans votre shell système soit à la ligne de commande, soit dans un fichier de démarrage tel que le fichier .bashrc sous Bash. C'est une liste de répertoires séparés par un caractère deux-points (:), similaire à la variable d'environnement PATH sur les systèmes Linux.

Dans le shell Linux, vous pouvez l'examiner avec la commande echo :

echo $PYTHONPATH
    

Pour le changer, le mieux est de l'ajouter à la fin.

export PYTHONPATH="$PYTHONPATH:/path/to/my/modules"
    

Cela garantira que tout chemin de recherche de module existant est conservé avant d'ajouter votre propre répertoire.

Vous pouvez également modifier le chemin de recherche en utilisant le module intégré sys. Il suffit de l'importer dans une session interactive de Python :

import sys
    

Puis examinez-le :

sys.path
    

Pour ajouter un répertoire au chemin de recherche, utilisez la méthode append :

sys.path.append('/path/to/my/modules')
    

Puisqu'il n'y a pas de véritable distinction entre un script Python et un module ou une bibliothèque, vous pouvez facilement convertir l'un en l'autre. Il est bon de style de programmation de diviser les opérations en fonctions plus petites. Vous pouvez également les appeler depuis un autre script ou une section interactive, mais que faire si vous avez un script ? Vous pouvez simplement définir les opérations du script dans une fonction « main ».

if __name__ == "__main__":
    

Cela vérifiera si l'interpréteur Python exécute le script en tant que script plutôt qu'en tant qu'importation. Vous pouvez ensuite mettre tout ce que vous souhaitez après cette section pour l'exécuter dans le script, tout en laissant les fonctions pouvant éventuellement être importées dans un autre script ou une session interactive.


Avec la possibilité d'utiliser des modules, vous pouvez exploiter la vaste gamme de modules disponibles en Python. Vous serez capable de faire plus que vous ne l'auriez jamais pensé par vous-même. Vous économiserez beaucoup de temps et d'efforts par rapport à la programmation à partir de zéro.