Les bibliothèques et les modules facilitent la vie des programmeurs.

Lorsque vous travaillez sur des projets, vous pouvez rencontrer des scénarios que vous ne pourrez pas résoudre avec le codage standard d’un langage de programmation. Nous avons besoin de bibliothèques et de modules pour surmonter ces problèmes.

Heureusement, Python prend en charge une pléthore de modules et de bibliothèques. Python dispose de modules intégrés ainsi que de bibliothèques et de modules tiers pour le développement. Nous verrons les modules intégrés et les modules tiers, qui sont très utiles pour les projets Python. Commençons par les modules intégrés.

Python est livré avec de nombreux modules intégrés pour différents cas d’utilisation. Nous étudierons les modules un par un en fonction de leur utilisation.

Collections

Python dispose de différents types de collections pour stocker les données. Par exemple, tuple, list, dict, etc . sont quelques-unes des collections intégrées de Python. Le module collections fournit des fonctionnalités supplémentaires aux collections intégrées.

Si vous prenez la collection de données deque du module collections , elle ressemble plus à une liste Python. Mais nous pouvons pousser et sortir les éléments des deux côtés. C’est plus rapide qu’une liste. Vous pouvez utiliser le deque en fonction de vos besoins. Voyons un peu de codage réel avec la collecte de données collections.deque .

import collections
nums = [1, 2, 3]
# création d'une collection deque à partir de la liste
deque = collections.deque(nums)

print(deque)

# ajout d'un élément à la fin
deque.append(4)

print(deque)

# ajout d'un élément au début
deque.appendleft(0)

print(deque)

# suppression de l'élément à la fin
deque.pop()

print(deque)

# suppression de l'élément au début
deque.popleft()

print(deque)

Exécutez le code ci-dessus et voyez les résultats. Nous disposons également d’autres collections de données dans le module collections .

En voici quelques-unes :

CompteurRenvoie un dict qui contient la fréquence des éléments de la liste.

Il s’agit d’une sous-classe de la classe dict.

UserListUtilisé pour une sous-classe rapide de la liste.
UserDictUtilisé pour une sous-classe rapide de la classe dict.
UserStringUtilisé pour une sous-classe rapide de str.

Consultez la documentation du module collections pour découvrir toutes les collections et méthodes de données.

Note rapide:- Utilisez la méthode intégrée dir(object) de Python pour voir toutes les méthodes d’un objet.

CSV

Nous pouvons utiliser les fichiers CSV (comma-separated values) pour stocker les données tabulaires. Il s’agit du format le plus couramment utilisé pour importer et exporter des données à partir de feuilles de calcul et de bases de données. Python dispose d’un module appelé CSV pour gérer les fichiers CSV.

Voyons un exemple de lecture des données d’un fichier CSV.

Créez un fichier nommé sample.csv sur votre ordinateur portable et collez les données suivantes.

Nom, âge, année d'obtention du diplôme

Hafeez, 21 ans, 2021

Aslan, 23 ans, 2019

Rambabu,21,2021

Nous disposons de méthodes de lecture et d’écriture dans le module CSV. Nous allons voir comment lire les données des fichiers CSV à l’aide du module CSV.

import csv

with open('sample.csv') as file :
    # création du lecteur
    reader = csv.reader(file)
    
    # lecture ligne par ligne à l'aide d'une boucle
    for row in reader :
        # row est une liste contenant des éléments du fichier CSV
        # joindre la liste en utilisant la méthode join(list)
        print(','.join(row))

Exécutez le code ci-dessus pour voir les résultats.

Nous aurons également un objet appelé csv.writer() pour écrire les données dans le fichier CSV . Jouez avec les autres méthodes par vous-même en utilisant les méthodes intégrées dir() et help(). Nous disposons d’un autre module appelé JSON, qui permet de gérer les fichiers JSON . Il s’agit également d’un module intégré.

Aléatoire

Python dispose d’un module appelé random qui permet de générer des données de manière aléatoire. Nous pouvons produire n’importe quoi de manière aléatoire en utilisant différentes méthodes du module random . Vous pouvez utiliser ce module dans des applications comme le tic-tac-toe, un jeu de dés, etc..,

Voyons un programme simple pour générer des nombres entiers aléatoires à partir d’une plage donnée.

import random

# génère un nombre aléatoire dans l'intervalle 1-100
print(random.randint(1, 100)) 

Vous pouvez vérifier les autres méthodes du module random en utilisant les méthodes dir()et help(). Écrivons un petit jeu simple en utilisant le module random . Nous pouvons l’appeler Jeu de devinettes sur les nombres.

Qu’est-ce que le jeu de devinettes ?

Le programme génère un nombre aléatoire compris entre 1 et 100. L’utilisateur doit deviner le nombre jusqu’à ce qu’il corresponde au nombre aléatoire généré par le programme. À chaque fois, vous indiquerez si le nombre de l’utilisateur est inférieur ou supérieur au nombre aléatoire. Ensuite, le code source affichera le nombre de suppositions.

Voyez le code ci-dessous pour le programme ci-dessus.

# Importation du module random
import random

# générer un nombre aléatoire
nombre_aléatoire = random.randint(1, 100)

# initialisation du nombre de devinettes à 0
guess_count = 0

# exécution de la boucle jusqu'à ce que l'utilisateur devine le nombre aléatoire
while True :
    # reçoit les données de l'utilisateur

    user_guessed_number = int(input("Enter a number in the range of 1-100:- "))

    # vérification de l'égalité
    if user_guessed_number == random_number :
        print(f "Vous avez deviné le nombre en {compte_devinez} devinez")
        # rupture de la boucle
        break
    elif user_guessed_number < random_number :
        print("Votre nombre est faible")
    elif user_guessed_number > random_number :
        print("Votre nombre est élevé")

    # incrémentation du nombre de devinettes
    guess_count = 1

Tkinter

Tkinterest un module intégré pour le développement d’applications GUI (interface utilisateur graphique). Il est pratique pour les débutants. Nous pouvons développer des applications GUI comme des calculatrices, des systèmes de connexion, des éditeurs de texte, etc… ; il existe de nombreuses ressources pour apprendre le développement GUI avec Tkinter.

Le meilleur support est de suivre la documentation officielle. Pour commencer à utiliser Tkinter, consultez la documentation et commencez à créer de belles applications graphiques .

# Modules tiers

Requêtes

Le module Requests est utilisé pour envoyer toutes sortes de requêtes HTTP au serveur. Il permet d’envoyer des requêtes HTTP/1.1 . Nous pouvons également ajouter des en-têtes, des données et d’autres choses en utilisant des dictionnaires Python. Comme il s’agit d’un module tiers, nous devons l’installer. Exécutez la commande suivante dans le terminal ou la ligne de commande pour installer le module requests .

pip install requests

Il est facile de travailler avec le module requests . Nous pouvons commencer à travailler avec les requêtes sans aucune connaissance préalable. Voyons comment envoyer une requête get et ce qu’elle renvoie.

import requêtes

# Envoi d'une requête de type "get
request = requests.get("https://www.google.com/")

# 
print(request.status_code)
print(request.url)
print(request.request)

Le code ci-dessus affiche le code d’état, l’URL et la méthode de requête (GET, POST). Vous obtiendrez également la source de l’URL . Vous pouvez y accéder avec les octets request.content . Consultez la documentation du module requests pour en savoir plus.

BeautifulSoup4

La bibliothèqueBeautifulSoup est utilisée pour le web scraping. C’est un module pratique à utiliser. Même les débutants peuvent commencer à travailler avec lui en utilisant la documentation. Voyez l’exemple de code pour récupérer les détails des rapports des clients.

Vous pouvez installer BeautifulSoup en tapant la commande suivante dans le terminal/ligne de commande.

pip install beautifulsoup4

Et, un programme simple pour votre premier scraping.

## Scruter la liste des produits de ConsumerReport en utilisant BeautifulSoup

## Importation de bs4, modules de requêtes
import bs4
import requêtes

## initialisation de l'url
url = "https://www.consumerreports.org/cro/a-to-z-index/products/index.htm"

## obtenir la réponse de la page en utilisant la méthode get du module requests
page = requests.get(url)

## stocker le contenu de la page dans une variable
html = page.content

## création de l'objet BeautifulSoup
soup = bs4.BeautifulSoup(html, "lxml")

## voir la classe ou l'id de la balise qui contient les noms et les liens
div_class = "crux-body-copy"

## récupérer tous les divs en utilisant la méthode find_all
div_tags = soup.find_all("div", class_=div_class) ## trouver les divs dont la classe est mentionnée

## nous verrons toutes les balises avec une balise qui a un nom et un lien à l'intérieur de la div
for tag in div_tags :
    print(tag)

Exécutez le code ci-dessus pour découvrir la magie du web scraping. Il existe d’autres frameworks de web scraping que vous pouvez essayer.

# Science des données et apprentissage automatique

Il existe des bibliothèques spécialement conçues pour la science des données et l’apprentissage automatique. Toutes ces bibliothèques sont développées en C. Elles sont rapides comme l’éclair.

Numpy

Numpy est utilisé pour le calcul scientifique.

Elle nous permet de travailler avec des tableaux multidimensionnels. L’implémentation des tableaux n’existe pas en Python. Les développeurs utilisent principalement numpy dans leurs projets d’apprentissage automatique. C’est une bibliothèque facile à apprendre et open-source. Presque tous les ingénieurs en apprentissage automatique ou les scientifiques des données utilisent ce module pour des calculs mathématiques complexes.

Exécutez la commande suivante pour installer le module numpy .

pip install numpy

Pandas

Pandas est un module d’analyse de données. La bibliothèque Pandas permet de filtrer les données de la manière la plus efficace possible. Elle offre différents types de structures de données avec lesquelles il est facile de travailler. Elle permet également de gérer des fichiers de différents formats.

Installez le module à l’aide de la commande suivante.

pip install pandas

Matplotlib

Matplotlib est une bibliothèque de traçage de graphiques en 2D. Vous pouvez visualiser les données à l’aide de Matplotlib.

Nous pouvons générer des images des figures dans différents formats. Nous traçons différents types de diagrammes comme les diagrammes à barres, les diagrammes d’erreur, les histogrammes, les diagrammes de dispersion, etc. Vous pouvez installer Matplotlib à l’aide de la commande suivante.

pip install matplotlib

Note rapide:- Vous pouvez installer Anaconda pour obtenir toutes les bibliothèques et modules nécessaires à la science des données.

Si vous voulez vraiment apprendre Python pour la science des données et le ML, alors regardez ce cours Udemy brillant.

TensorFlow

TensorFlow est une bibliothèque Python d’apprentissage automatique de bout en bout développée par Google.

Avec TensorFlow, vous pouvez exécuter des algorithmes d’apprentissage automatique standard, créer des réseaux neuronaux et effectuer des calculs numériques. Cependant, une connaissance approfondie des vecteurs et de l’algèbre est nécessaire pour travailler avec TensorFlow.

image-157

Comment utiliser TensorFlow

Créez un projet, naviguez-y, puis installez TensorFlow à l’aide de cette commande ;

pip install tensorflow-cpu

TensorFlow est très populaire pour les raisons suivantes ;

  • Flexible : TensorFlow peut effectuer diverses tâches d’apprentissage automatique telles que la reconnaissance vocale, la reconnaissance d’images et le traitement du langage naturel, pour n’en citer que quelques-unes.
  • Évolutif : Vous pouvez utiliser TensorFlow pour former et déployer des modèles d’apprentissage automatique sur différents systèmes matériels tels que les TPU, les GPU et les CPU.
  • Grande communauté : TensorFlow a attiré une grande base d’utilisateurs avec plus de 174k étoiles et 88k forks sur GitHub.
  • Extensible : Vous pouvez personnaliser TensorFlow pour répondre aux besoins spécifiques de votre projet.

TensorFlow est un projet libre et gratuit dont le code source est disponible sur GitHub.

Keras

Keras est une interface de programmation d’applications (API) d’apprentissage profond construite sur TensorFlow, une plateforme d’apprentissage automatique. L’apprentissage profond est une sous-section de l’apprentissage automatique. Keras a été conçu pour faciliter l’expérimentation rapide, permettant aux utilisateurs de passer rapidement d’une idée à un produit.

image-158

Tandis que TensorFlow agit comme une couche d’infrastructure pour la programmation différentiable, Keras offre les blocs de construction essentiels et les abstractions pour la construction et l’expédition de solutions d’apprentissage automatique. Avec Keras, les ingénieurs profitent des capacités multiplateformes et de l’évolutivité de TensorFlow.

Pour commencer à utiliser Keras, installez-le à l’aide de pip ;

pip install keras

Pourquoi Keras ?

  • Flexible : Keras a été conçu selon le principe de la “divulgation progressive de la complexité“. Ainsi, vous pouvez créer différents réseaux neuronaux car il prend en charge différents optimiseurs, fonctions d’activation et types de couches.
  • Facilité d’utilisation : Keras est conçu pour être simple, mais pas simpliste. En tant qu’ingénieur, Keras vous permet de vous concentrer sur les solutions qui comptent tout en vous déchargeant de la charge cognitive.
  • Grande communauté : Keras dispose d’une grande communauté naissante avec plus de 57,9k étoiles sur GitHub.
  • Évolutif : Vous pouvez utiliser Keras pour expérimenter. Toutefois, vous pouvez également continuer à utiliser cette API au fur et à mesure que votre application se développe.

Keras est une bibliothèque Python d’apprentissage profond gratuite et open-source.

Scikitt-Learn

Scikitt-Learn est un module Python d’apprentissage automatique basé sur SciPy. Le module offre des outils efficaces et simples que les ingénieurs peuvent utiliser pour analyser des données prédictives.

image-159

Scikitt-Learn a de nombreux cas d’utilisation, tels que la classification, le regroupement, la régression et le prétraitement, entre autres.

Dans la fonction Classification, vous pouvez utiliser ce module pour identifier la catégorie d’un objet. Cette fonction est utile pour la reconnaissance d’images et la détection de spam.

Vous pouvez installer Scikitt-Learn dans votre dossier de projet à l’aide de pip comme suit ;

pip install scikit-learn

Après l’installation, vous pouvez vérifier qu’il est bien configuré en l’important dans vos fichiers comme suit ;

import sklearn

Pourquoi Scikitt-Learn ?

  • Divers algorithmes d’apprentissage automatique : Vous pouvez accéder à des algorithmes allant des arbres de décision aux réseaux neuronaux, en passant par les forêts aléatoires et les machines à vecteurs de support.
  • Visualisation des modèles : Le module dispose de plusieurs outils pour visualiser les modèles d’apprentissage automatique.
  • Évaluation des modèles : Ce module vous permet de procéder à une validation croisée et à des mesures de notation.
  • Prétraitement des données : Vous pouvez procéder à la réduction de la dimensionnalité, à la normalisation et à la sélection des caractéristiques à l’aide de l’outil de prétraitement des données de ce module.

Scikkit-Learn est open source et commercialement utilisable avec une licence BSD.

# Cadres Web

Il existe de nombreux frameworks web en Python. Nous allons discuter de deux frameworks qui sont largement utilisés par les développeurs. Ces deux frameworks sont Django et Flask.

Django

Django est un framework web open-source développé en Python. Il est facile de créer des sites web avec Django. Il est possible de créer n’importe quel type de site à l’aide de ce cadre. Certains des sites les plus populaires construits avec Django sont Instagram, bitbucket, Disqus, Mozilla Firefox, etc..,

  • Nous pouvons construire des sites web complexes rapidement grâce aux fonctionnalités de Django.
  • Django effectue déjà une grande partie des tâches nécessaires au développement web.
  • Il offre également une sécurité contre les attaques de type SQL Injection, cross-site scripting, cross-site request forgery, et clickjacking.
  • Nous pouvons construire n’importe quel site web, du système de gestion de contenu aux sites sociaux.

La documentation de Django est sans ambiguïté. Vous devez vous familiariser avec Python pour Django. Mais ne vous inquiétez pas si vous ne l’êtes pas. L’apprentissage de Django est facile.

Flask

Flask est un micro framework web développé en Python.

Il est plus pythonique que Django. Il dispose d’une excellente documentation ici. Il utilise le moteur de template Jinja . Il est très complexe de créer de grands sites web avec Flask. La plupart des fonctionnalités telles que le routage d’URL, la répartition des requêtes, les cookies sécurisés, les sessions, etc. sont présentes à la fois dans Django et dans Flask.

Choisissez le framework en fonction de la complexité de votre site web. Django gagne en popularité parmi les développeurs. C’est le framework le plus utilisé pour le développement web en Python.

Conclusion

J’espère que vous avez appris à connaître les différents modules, bibliothèques et frameworks pour Python.

Tout le monde est un jour débutant.

Quoi que vous vouliez commencer, consultez d’abord la documentation et commencez à apprendre. Si vous n’arrivez pas à comprendre la documentation, trouvez des cours accélérés sur ces sites éducatifs.

Vous pouvez également consulter notre article sur l’installation de pip sur différents systèmes d’exploitation.