Recherche de site Web

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


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

Qu'est-ce que 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 manière similaire à la façon dont une bibliothèque publique offre à quiconque l'accès à ses matériaux.

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 créer. 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 dédié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 commencent souvent par "python-" ou "python3-". Cela installera la bibliothèque à l'échelle du système, donc vous devrez avoir un accès administrateur.

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

Vous pouvez utiliser l'outil pip pour installer des 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'outil virtualenv.

Vous pouvez approfondir les concepts de virtualenv en utilisant Mamba, qui est 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 à un projet.

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

mamba activate stats
    

Beaucoup de bibliothèques Python sont incluses avec le langage. C'est un point de fierté pour la culture Python. La bibliothèque standard Python comprend de nombreux modules pour tout, de l'interaction avec le système d'exploitation à la gestion des heures et des dates. C'est pourquoi les programmeurs Python aiment dire que le langage a des "batteries incluses."

Importer une bibliothèque Python entière

Pour importer une toute bibliothèque Python 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 tas de fonctions. Les fonctions sont importées sous leur propre espace de noms. Cela signifie qu'en règle générale, les fonctions de la bibliothèque sont maintenues séparées des commandes intégrées dans Python. Je vais vous montrer quelques façons de changer cela, mais le comportement par défaut est meilleur pour la plupart des circonstances.

Pour accéder à ces fonctions, vous pouvez appeler le module que vous venez d'importer. C'est en effet 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 importons la bibliothèque.

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

numpy.mean(numbers)
    

Cela appelle la fonction moyenne dans NumPy.

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

import numpy as np
    

Vous pouvez maintenant appeler numpy "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 une ou deux fonctions d'une grande bibliothèque, surtout si vous souhaitez les utiliser plusieurs fois pendant une session. C'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 moyenne 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 avec "numpy" ou "np." Vous pouvez simplement les utiliser comme s'il s'agissait de 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 des fonctions par elles-mêmes convient mieux aux sessions interactives de Python car cela évite de taper. Vous pouvez le faire dans un script, mais ce n'est pas recommandé. Vous risquez d'écraser l'espace de noms utilisé pour une fonction Python par défaut. Cela pourrait causer un bogue 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 ces types 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 avoir besoin d'ê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 en fin de compte 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 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 d'importation. Par exemple, pour importer la bibliothèque :

import my_library
    

Si la bibliothèque se trouve dans un autre répertoire, il y a 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 chercher 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 dans 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, il est préférable de l'ajouter.

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

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

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

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 réelle distinction entre un script Python et un module ou une bibliothèque, vous pouvez facilement en convertir un en l'autre. C'est une bonne pratique de programmation de diviser les opérations en fonctions plus petites. Vous pouvez aussi 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__":
    

Ceci vérifie si l'interpréteur Python exécute le script en tant que script plutôt que de l'importer. Vous pouvez ensuite mettre tout ce que vous voulez après cette section à exécuter dans le script, tout en laissant les fonctions pouvant être éventuellement importées dans un autre script ou session interactive.


Avec la possibilité d'utiliser des modules, vous pouvez tirer parti de l'énorme éventail de modules disponibles en Python. Vous pourrez faire plus que ce que vous pensiez être capable de faire seul. Vous économiserez beaucoup de temps et d'efforts par rapport à la programmation depuis le début.