madamasterclass.com

📔 Modularité et API

Exploration de la modularité et API

La modularité est un concept fondamental en programmation qui permet de diviser un programme en parties plus petites et gérables, appelées modules. Les API (Interfaces de Programmation d'Applications) jouent un rôle clé dans l'interaction des modules entre eux.


1. Introduction à la Modularité :
  • La modularité permet de structurer le code en séparant les fonctionnalités en modules indépendants.
  • Chaque module peut être développé, testé et maintenu indépendamment.

2. Avantages de la Modularité :
  •         1️⃣ Amélioration de la lisibilité et de la maintenabilité du code.
  •         2️⃣ Facilité de réutilisation du code dans différents projets.
  •         3️⃣ Facilite le travail en équipe en permettant à plusieurs développeurs de travailler sur des modules différents.

3. Création de Modules en Python :
  • Un module en Python est simplement un fichier contenant du code Python, généralement avec l'extension .py.
  • Vous pouvez définir des fonctions, des classes et des variables dans un module.
  • # mon_module.py
    def ma_fonction():
        return "Bonjour, monde!"

4. Importation de Modules :
  • Pour utiliser un module, vous devez l'importer dans votre script Python.
  • Exemple d'importation :
  • import mon_module
    print(mon_module.ma_fonction()) # Affiche "Bonjour, monde!"

5. Introduction aux API :
  • Une API est un ensemble de règles et de spécifications permettant à des logiciels différents d'interagir.
  • Les API définissent les méthodes et les données que les développeurs peuvent utiliser pour interagir avec des services externes.

6. Utilisation d'API en Python :
  • Python dispose de plusieurs bibliothèques pour interagir avec des API, comme requests.
  • Exemple d'appel à une API :
  • import requests
    response = requests.get("https://api.example.com/donnees")
    print(response.json())

7. Conclusion :

La modularité et les API sont essentielles pour créer des applications robustes et évolutives. En Python, la création de modules et l'utilisation d'API facilitent le développement et l'intégration de fonctionnalités variées dans vos projets.

Exercice 1: ★ ★ ★ ☆ ☆

Vous devez créer un module Python qui contient une fonction pour calculer la factorielle d'un nombre.
1. Écrire la fonction factorielle(n) qui retourne la factorielle de \( n \).
2. Tester votre fonction avec \( n = 5 \) et \( n = 0 \).

1. Fonction factorielle:

    def factorielle(n):
       if n == 0:
         return 1
       return n * factorielle(n - 1)

2. Tester:
    print(factorielle(5)) # Retourne 120
    print(factorielle(0)) # Retourne 1


Exercice 2: ★ ★ ★ ★ ☆

Vous développez une API simple pour gérer une liste de tâches.
1. Écrire une fonction ajouter_tache(taches, tache) qui ajoute une tâche à la liste des tâches.
2. Écrire une fonction lister_taches(taches) qui affiche toutes les tâches de la liste.
3. Tester les deux fonctions avec une liste de tâches initiale vide.

1. Fonction ajouter_tache:

    def ajouter_tache(taches, tache):
       taches.append(tache)

2. Fonction lister_taches:

    def lister_taches(taches):
       for tache in taches:
         print(tache)

3. Tester:
    taches = []
    ajouter_tache(taches, "Faire les courses")
    lister_taches(taches) # Affiche "Faire les courses"


Exercice 3: ★ ★ ★ ★ ★

Vous travaillez sur une application qui utilise une API pour récupérer des données météorologiques.
1. Écrire une fonction get_meteo(ville) qui fait une requête à une API météo fictive et retourne les conditions météorologiques pour la ville donnée.
2. Tester la fonction avec une ville de votre choix, en simulant la réponse d'une API.

1. Fonction get_meteo:

    import requests
def get_meteo(ville):
       response = requests.get(f"https://api.meteo.com/{ville}")
       return response.json() # Simuler une réponse JSON

2. Tester:
    print(get_meteo("Paris")) # Simuler la réponse pour Paris


Exercice 4: ★ ★ ★ ☆ ☆

Vous devez créer un module pour gérer des calculs simples.
1. Écrire une fonction addition(a, b) qui retourne la somme de deux nombres.
2. Écrire une fonction soustraction(a, b) qui retourne la différence entre deux nombres.
3. Tester les deux fonctions avec des valeurs de votre choix.

1. Fonction addition:

    def addition(a, b):
       return a + b

2. Fonction soustraction:

    def soustraction(a, b):
       return a - b

3. Tester:
    print(addition(5, 3)) # Retourne 8
    print(soustraction(5, 3)) # Retourne 2


Exercice 5: ★ ★ ★ ★ ★

Vous travaillez sur une application qui nécessite de transformer des données d'une API.
1. Écrire une fonction transformer_donnees(donnees) qui prend une liste de dictionnaires et retourne une liste de tuples contenant les valeurs des clés spécifiées.
2. Tester votre fonction avec une liste de dictionnaires d'exemples.

1. Fonction transformer_donnees:

    def transformer_donnees(donnees):
       return [(item['cle1'], item['cle2']) for item in donnees]

2. Tester:
    exemples = [{'cle1': 'valeur1', 'cle2': 'valeur2'}, {'cle1': 'valeur3', 'cle2': 'valeur4'}]
    print(transformer_donnees(exemples)) # Retourne [('valeur1', 'valeur2'), ('valeur3', 'valeur4')]


Exercice 6: ★ ★ ★ ★ ★

Vous devez créer un module de gestion de livres pour une bibliothèque.
1. Écrire une classe Livre avec les attributs titre, auteur, et annee.
2. Ajouter une méthode description qui retourne une chaîne décrivant le livre.
3. Tester votre classe en créant plusieurs objets Livre et en affichant leurs descriptions.

1. Classe Livre :

class Livre:
   def __init__(self, titre, auteur, annee):
      self.titre = titre
      self.auteur = auteur
      self.annee = annee

   def description(self):
      return f"{self.titre} par {self.auteur}, publié en {self.annee}"


2. Tester la classe :

livre1 = Livre("1984", "George Orwell", 1949)
livre2 = Livre("Le Petit Prince", "Antoine de Saint-Exupéry", 1943)
print(livre1.description()) # Affiche "1984 par George Orwell, publié en 1949"
print(livre2.description()) # Affiche "Le Petit Prince par Antoine de Saint-Exupéry, publié en 1943"


Exercice 7: ★ ★ ★ ★ ★

Vous développez une API pour gérer les utilisateurs d'une application.
1. Écrire une fonction ajouter_utilisateur(nom, email) qui ajoute un utilisateur à une liste.
2. Écrire une fonction lister_utilisateurs() qui retourne la liste des utilisateurs.
3. Tester les deux fonctions en ajoutant plusieurs utilisateurs et en affichant la liste.

1. Liste des utilisateurs :

utilisateurs = []

def ajouter_utilisateur(nom, email):
    utilisateurs.append({"nom": nom, "email": email})

def lister_utilisateurs():
    return utilisateurs


2. Tester les fonctions :

ajouter_utilisateur("Alice", "alice@example.com")
ajouter_utilisateur("Bob", "bob@example.com")
print(lister_utilisateurs()) # Affiche la liste des utilisateurs


Exercice 8: ★ ★ ★ ★ ★

Vous devez interagir avec une API de films.
1. Écrire une fonction get_films() qui effectue une requête à l'API et retourne une liste de films.
2. Écrire une fonction afficher_films(films) qui affiche les titres des films.
3. Tester les deux fonctions en simulant une réponse d'API.

1. Fonction get_films :

import requests

def get_films():
    response = requests.get("https://api.example.com/films")
    return response.json() # Simuler la réponse


2. Fonction afficher_films :

def afficher_films(films):
    for film in films:
       print(film['titre'])


3. Tester les fonctions :

films_exemple = [{"titre": "Inception"}, {"titre": "Avatar"}]
afficher_films(films_exemple) # Affiche "Inception", "Avatar"


Exercice 9: ★ ★ ★ ★ ☆

Vous devez créer un module de calcul de statistiques.
1. Écrire une fonction moyenne(liste) qui calcule la moyenne d'une liste de nombres.
2. Écrire une fonction mediane(liste) qui calcule la médiane d'une liste de nombres.
3. Tester les deux fonctions avec une liste d'exemples.

1. Fonction moyenne :

def moyenne(liste):
    return sum(liste) / len(liste)


2. Fonction mediane :

def mediane(liste):
    liste.sort()
    n = len(liste)
    if n % 2 == 0:
       return (liste[n//2 - 1] + liste[n//2]) / 2
    return liste[n//2]


3. Tester les fonctions :

exemples = [1, 2, 3, 4, 5]
print(moyenne(exemples)) # Retourne 3
print(mediane(exemples)) # Retourne 3


Exercice 10: ★ ★ ★ ★ ☆

Vous travaillez sur une application de gestion de contacts.
1. Écrire une classe Contact avec les attributs nom et telephone.
2. Écrire une méthode afficher_contact qui affiche les informations du contact.
3. Tester la classe en créant plusieurs objets Contact et en affichant leurs informations.

1. Classe Contact :

class Contact:
   def __init__(self, nom, telephone):
      self.nom = nom
      self.telephone = telephone

   def afficher_contact(self):
      print(f"Nom: {self.nom}, Téléphone: {self.telephone}")


2. Tester la classe :

contact1 = Contact("Jean Dupont", "0123456789")
contact2 = Contact("Marie Curie", "9876543210")
contact1.afficher_contact() # Affiche "Nom: Jean Dupont, Téléphone: 0123456789"
contact2.afficher_contact() # Affiche "Nom: Marie Curie, Téléphone: 9876543210"


Forum(s) associé(s)

Mathématiques Magiques : Dévoilez les Mystères des Nombres

08 Apr, 2016

Les mathématiques ont souvent la réputation d'être une discipline austère et difficile, mais ...

Read more.

Voyage à Travers les Suites Numériques : Découvertes et Applications

27 Jan, 2014

Plongez dans l'univers fascinant des suites numériques, où chaque terme révèle des patterns surprenants et des applications pratiques dans les mathématiques et au-delà.

Read more.

Fonctions en Action : Comprendre et Explorer les Relations Mathématiques

30 Feb, 2015

Découvrez comment les fonctions tissent des liens entre les nombres et les concepts, transformant des idées abstraites en outils puissants pour résoudre des problèmes du quotidien.

Read more.
Page: