Recherche de modules

7.5 Recherche de modules

Objectifs d'apprentissage

À la fin de cette section, vous devriez être capable de :

  • Expliquer les différences entre la bibliothèque standard et PyPI.
  • Rechercher des modules d'intérêt sur python.org et pypi.org.

Modules intégrés

La bibliothèque standard de Python (Python Standard Library) est un ensemble de fonctions intégrées et de modules prenant en charge les tâches courantes de programmation. Ex. : le module math fournit des fonctions comme sqrt() et des constantes comme pi. La documentation officielle de Python comprend une référence de la bibliothèque et un index des modules pour se familiariser avec la bibliothèque standard.

Depuis des décennies, Python applique la philosophie des « batteries incluses ». Cette philosophie signifie que la bibliothèque standard doit être fournie avec tout ce dont la plupart des programmeurs ont besoin. En fait, la bibliothèque standard comprend plus de 200 modules intégrés !

Module Description

calendar

Fonctions générales liées au calendrier.

datetime

Types et fonctions de base pour la date et l'heure.

email

Générer et traiter des messages électroniques.

math

Fonctions et constantes mathématiques.

os

Interagir avec le système d'exploitation.

random

Générer des nombres pseudo-aléatoires.

statistics

Fonctions de statistiques mathématiques.

sys

Paramètres et fonctions spécifiques au système.

turtle

Environnement éducatif pour le dessin graphique simple.

zipfile

Lire et écrire des fichiers d'archives au format ZIP.
Tableau 7.1 Exemples de modules intégrés dans la bibliothèque standard.

Concepts en pratique

Modules intégrés

Utilisez la référence de la bibliothèque, l'index des modules et les liens de documentation ci-dessus pour répondre aux questions.

1.
Quelle page fournit une liste de modules intégrés triés par catégorie ?
  1. référence de la bibliothèque
  2. index des modules
  3. PEP 2
2.
Quelle est la valeur de calendar.SUNDAY?
  1. 1
  2. 6
  3. 7
3.
Quel module intégré permet le développement d'interfaces graphiques utilisateur ?
  1. tkinter
  2. turtle
  3. webbrowser

Modules tiers

Le Python Package Index (PyPI), disponible sur pypi.org, est la bibliothèque logicielle tierce officielle pour Python. L'abréviation « PyPI » se prononce « paï-pi-aï » (en anglais pie pea eye) (par opposition à PyPy, un projet différent).

PyPI permet à quiconque de développer et de partager des modules avec la communauté Python. Les auteurs de modules comprennent des particuliers, de grandes entreprises et des organisations à but non lucratif. PyPI aide les programmeurs à installer des modules et à recevoir des mises à jour.

La plupart des logiciels disponibles sur PyPI sont libres et open source. PyPI est soutenu par la Python Software Foundation et est maintenu par un groupe indépendant de développeurs.

Module Description

arrow

Convertir et formater des dates, des heures et des horodatages.

BeautifulSoup

Extraire des données de documents HTML et XML.

bokeh

Graphiques interactifs et applications dans le navigateur.

matplotlib

Visualisations statiques, animées et interactives.

moviepy

Montage, composition et traitement vidéo.

nltk

Boîte à outils de traitement automatique du langage naturel pour les langues humaines.

numpy

Paquet fondamental pour le calcul numérique.

pandas

Bibliothèque d'analyse de données, de séries temporelles et de statistiques.

pillow

Traitement d'images pour les formats jpg, png et autres.

pytest

Outil de test complet et cadre de test unitaire.

requests

Bibliothèque HTTP élégante pour se connecter à des serveurs web.

scikit-learn

Outils simples et efficaces pour l'analyse prédictive de données.

scipy

Algorithmes fondamentaux pour le calcul scientifique.

scrapy

Explorer des sites web et extraire des données de pages web.

tensorflow

Plateforme d'apprentissage automatique de bout en bout pour tous.
Tableau 7.2 Exemples de modules tiers disponibles sur PyPI.

Concepts en pratique

Modules tiers

Utilisez pypi.org et les liens du tableau ci-dessus pour répondre aux questions.

4.
Quels modules peuvent être utilisés pour éditer des images et des vidéos ?
  1. BeautifulSoup et Scrapy
  2. Bokeh et Matplotlib
  3. MoviePy et Pillow
5.
Quel module tiers remplace le module intégré datetime ?
  1. arrow
  2. calendar
  3. time
6.
Recherchez le module webcolors sur PyPI. Quelle fonction fournie par webcolors recherche le nom de couleur correspondant à un code hexadécimal ?
  1. hex_to_name
  2. name_to_hex
  3. normalize_hex

Pour aller plus loin

Les blogs de programmation mettent souvent en avant des modules PyPI pour illustrer l'utilité de Python. Les exemples suivants fournissent des informations contextuelles supplémentaires sur les modules répertoriés ci-dessus.

À vous d'essayer

Joyeux anniversaire

Les pages de documentation des modules contiennent souvent des exemples pour aider les programmeurs à se familiariser avec le module. Pour cet exercice, consultez les exemples suivants tirés de la documentation du module datetime :

Écrivez un programme qui crée un objet date représentant votre date de naissance. Obtenez ensuite un objet date représentant la date d'aujourd'hui (la date à laquelle le programme est exécuté). Calculez la différence entre les deux dates et affichez les résultats sous le format suivant :

    Your birth date: 2005-03-14
    Today's date is: 2023-06-01

    You were born 6653 days ago
    (that is 574819200 seconds)

    You are about 18 years old

À vous d'essayer

Âge plus précis

Le module datetime ne fournit pas de méthode intégrée pour afficher l'âge exact d'une personne. Ex. : le programme suivant calcule un âge exact (en années et en jours) à l'aide de la division entière et du modulo. La sortie est : You are 15 years and 4 days old.

    from datetime import date

    birth = date(2005, 3, 14)
    today = date(2020, 3, 14) # 15 years later
    delta = today - birth
    
    years = delta.days // 365
    days = delta.days % 365
    print("You are", years, "years and", days, "days old")

Remarquez comment les années bissextiles sont prises en compte dans le calcul. Le 29 février apparaît quatre fois entre birth et today. Par conséquent, l'utilisateur a non seulement 15 ans, mais 15 ans et 4 jours.

De nombreux modules couramment utilisés de PyPI, y compris arrow, sont installés dans le shell Python à l'adresse python.org/shell. Ouvrez le shell Python et saisissez les lignes suivantes :

    import arrow
    birth = arrow.get(2005, 3, 14)
    birth.humanize()

Consultez les exemples de humanize() dans la documentation du module arrow. Dans le shell Python, trouvez comment afficher le nombre d'années et de jours écoulés depuis birth en utilisant une seule ligne de code. Affichez ensuite le nombre d'années, de mois et de jours écoulés depuis birth. Enfin, utilisez la fonction print() pour afficher les résultats sous ce format : You are 18 years 4 months and 7 days old.

Si le temps le permet, expérimentez d'autres fonctions fournies par le module arrow.