Comment utiliser les bibliothèques de Python pour 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 également créer vos propres bibliothèques.
Sommaire
Que sont les bibliothèques Python?
Les bibliothèques sont des collections de code partagé. Ils sont communs à Python, où ils sont également appelés «modules», mais ils sont également omniprésents dans d'autres langages de programmation. Une bibliothèque définit les fonctions que tout programmeur peut utiliser dans ses propres programmes, similaire à la façon dont une bibliothèque publique offre à quiconque accès à ses documents.
L'avantage de l'utilisation de 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éboguer que tout ce que vous pourriez trouver. Ils vous laisseront également faire plus que vous ne le pourriez par vous-même.
Il existe de nombreuses bibliothèques dans Python pour des tâches telles que les graphiques, le développement de jeux, etc. Mes bibliothèques préférées ont tendance à être pour l'analyse des 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 packages 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, vous devrez donc avoir un accès administratif.
Si vous n'avez pas d'accès racine ou administratif sur votre système, il existe toujours des moyens d'installer les bibliothèques Python localement.
Vous pouvez utiliser l'outil PIP pour installer les bibliothèques Python répertoriées dans l'index Python Package Index (PYPI).
Par exemple, pour installer Numpy:
pip install numpy
Vous pouvez installer des bibliothèques sur un projet dans des environnements virtuels à l'aide de l'utilitaire VirtualEnv.
Vous pouvez prendre davantage les concepts de VirtualEnv en utilisant Mamba, qui se trouve être ma méthode de choix. Mamba est un outil populaire parmi les scientifiques des données et les analystes qui vous permet de créer des environnements spécifiques au projet.
J'ai déjà un environnement Mamba pour l'informatique statistique rempli de plusieurs bibliothèques populaires pour l'analyse des données. Je peux l'activer à la coque:
mamba activate stats
Beaucoup de bibliothèques Python viendront avec la langue. C'est un point de fierté pour la culture python. La bibliothèque Python Standard a beaucoup de modules pour tout, de l'interaction avec le système d'exploitation au travail avec les temps et les dates. C'est pourquoi les programmeurs Python aiment dire que la langue a des «batteries incluses».
Importation d'une bibliothèque Python entière
Pour importer une bibliothèque Python entière dans un script ou en mode Python interactif, 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 définissiez un tas 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 sont maintenues séparées des commandes intégrées de Python. Je vais vous montrer des moyens de changer cela, mais le comportement par défaut est meilleur pour la plupart des circonstances.
Pour obtenir 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 privées à l'objet que nous venons de créer en importation de la bibliothèque.
Par exemple, pour calculer la moyenne arithmétique ou la moyenne d'un tableau à l'aide de Numpy, nous tapons ceci:
numpy.mean(numbers)
Cela appelle la fonction moyenne 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 sous forme de 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 comme « NP ». Réécrivons ce calcul moyen précédent:
np.mean(numbers)
Importation d'une partie d'une bibliothèque (Python interactif uniquement!)
Souvent, lorsque vous travaillez dans une section Python interactive, comme dans l'interprète Python interactif standard ou Ipython, vous voudrez souvent importer une ou deux fonctions à partir d'une grande bibliothèque, surtout si vous souhaitez les utiliser à plusieurs reprises pendant une session. C'est également facile à faire à 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 avec des virgules. Par exemple, pour importer les fonctions moyennes et médianes de Numpy:
from numpy import mean, median
Avec ces fonctions importées, vous n'aurez pas à les préfacer avec « Numpy » ou « NP ». Vous pouvez simplement les utiliser comme s'ils 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)
L'importation de fonctions en elles-mêmes est mieux adaptée aux sessions Python interactives car elle économise sur la saisie. Vous pouvez le faire dans un script, mais ce n'est pas recommandé. Vous pourriez finir par remplacer l'espace de noms utilisé pour une fonction Python par défaut. Cela peut 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 devez éviter autant que possible ces types d'importations dans les scripts.
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 à être un expert de Python. Tout ce dont vous avez besoin est un éditeur de texte et la possibilité d'utiliser un terminal.
Les modules Python ne sont qu'en fin de compte des collections de fonctions définies dans 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 coller dans un fichier et les importer, comme avec tout autre module Python intégré ou installé.
Pour importer un module, assurez-vous qu'il a exécuté des autorisations. Vous pouvez utiliser la commande CHMOD dans des 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 est dans un autre répertoire, il existe quelques façons de modifier le chemin de recherche. La première méthode consiste à utiliser la variable d'environnement PythonPath. C'est une liste des répertoires que Python utilisera pour rechercher des modules. Vous pouvez le modifier dans votre shell système soit sur la ligne de commande ou dans un fichier de démarrage tel que le fichier .bashrc en bash. Il s'agit d'une liste d'annuaires séparés par un côlon (:) caractère, similaire à la variable d'environnement de chemin sur les systèmes Linux.
Au 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 conservé avant d'ajouter votre propre répertoire.
Vous pouvez également modifier le chemin de recherche à l'aide du module SYS intégré. Importez-le simplement 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 d'ajout:
sys.path.append('/path/to/my/modules')
Puisqu'il n'y a pas de distinction réelle entre un script Python et un module ou une bibliothèque, vous pouvez facilement en convertir l'un à l'autre. C'est un bon style de programmation pour diviser les opérations en fonctions plus petites. Vous pouvez également les appeler à partir d'un autre script ou d'une section interactive, mais que se passe-t-il si vous avez un script? Vous pouvez simplement définir les opérations du script dans une fonction « principale ».
if __name__ == "__main__":
Cela vérifiera si l'interpréteur Python exécute le script en tant que script au lieu d'importer. Vous pouvez ensuite mettre tout ce que vous voulez après cette section pour s'exécuter dans le script, tout en laissant les fonctions éventuellement importées dans un autre script ou une session interactive.
Avec la possibilité d'utiliser des modules, vous pouvez puiser dans le vaste tableau de modules disponibles de Python. Vous pourrez faire plus que vous ne le pensiez jamais que vous pourriez jamais le pourriez-vous par vous-même. Vous économiserez beaucoup de temps et d'efforts sur le codage à partir de zéro.
