Blog Alphorm Logo de blog informatique spécialisé en technologie et solutions IT
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
En cours de lecture : Réaliser un exercice pratique Python : carnet d’adresses
Agrandisseur de policeAa
Blog AlphormBlog Alphorm
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
Search
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
Suivez-nous
© Alphorm 2024 - Tous droits réservés
Développement

Réaliser un exercice pratique Python : carnet d’adresses

L'Équipe Alphorm Par L'Équipe Alphorm 18 janvier 2025
Partager
12e lecture en min
Partager
Cet article fait partie du guide Tuto Python Gratuit : Apprenez les Bases et Réalisez des Projets Pratiques, partie 17 sur 23.

De nombreux développeurs rencontrent des difficultés à organiser leurs applications de gestion de données personnelles, comme les carnets d’adresses, en raison de la complexité des méthodes de manipulation des contacts.

Cette mauvaise organisation peut causer des erreurs de gestion des données, ralentir l’interaction avec l’utilisateur, et compliquer la maintenance à long terme.

Dans cet exercice pratique, apprenez à structurer et gérer un carnet d’adresses en utilisant la programmation orientée objet, pour une application efficace et évolutive.

Table de matière
Réalisez un exercice pratique Python : carnet d'adresses POOArchitecture modulaire pour un carnet d'adresses PythonDéfinir la classe Contact dans PythonCréer une classe AddressBook pour gérer les contactsInteragir avec l’utilisateur dans le carnet d'adressesConclusion

Réalisez un exercice pratique Python : carnet d'adresses POO

Dans cet exercice, vous allez implémenter une application de carnet d’adresses en utilisant la programmation orientée objet en Python. Vous allez définir deux classes : Contact et AddressBook.

Énoncé et directives de l'exercice pratique Python
  • La classe Contact représente un contact avec un nom, un e-mail et un numéro de téléphone.
  • La classe AddressBook représente un carnet d’adresses contenant une liste de contacts. La classe permet d’ajouter, de supprimer et d’afficher des contacts.

L’application utilise une boucle while pour afficher un menu de choix à l’utilisateur :

  • Ajouter un contact (Add Contact)
  • Supprimer un contact (Remove Contact)
  • Afficher les contacts (Display Contact)
  • Quitter (Quit)
 Chaque classe (Contact et AddressBook) doit être créée dans un module séparé.

Architecture modulaire pour un carnet d'adresses Python

L’application sera structurée en deux modules distincts :

  • contact.py : Contiendra la classe Contact, qui représente un contact individuel avec un nom, un e-mail et un numéro de téléphone.
  • addressbook.py : Contiendra la classe AddressBook, qui gère une liste de contacts et inclut des méthodes pour ajouter, supprimer, et afficher les contacts.
Architecture des modules à créer pour l'exercice pratique

Définir la classe Contact dans Python

On commence par définir la classe Contact. Le constructeur __init__ initialise trois

attributs : name, email, et phone_number, qui représentent les informations d’un contact. Chaque fois qu’un objet Contact est créé, ces attributs son automatiquement définis avec les valeurs fournies lors de la création de l’objet.

				
					class Contact:
def __init__(self, name, email, phone_number):
self.name = name
self.email = email
self.phone_number = phone_number
				
			

La figure ci-dessous montre la définition de la classe Contact dans le fichier contact.py, où nous initialisons les attributs essentiels pour représenter un contact individuel.

Classe Contact avec attributs et méthodes en Python

Formation Python : Programmation Orientée Objet

Développez des applications robustes avec la POO en Python !

Découvrir cette formation
image de formation informatique sur les compétences IT et technologies modernes

Créer une classe AddressBook pour gérer les contacts

La classe AddressBook est définie de la manière suivante. Le constructeur __init__ initialise une liste vide appelée contacts. Cette liste sera utilisée pour stocker les objets de la classe Contact déjà définie.

				
					class AddressBook:
def __init__(self):
self.contacts = []
				
			

Ajouter un contact avec la méthode add_contact

La méthode add_contact permet d’ajouter un nouveau contact dans le carnet d’adresses. Quand un nouvel objet Contact est créé avec les informations fournies (nom, e-mail, numéro de téléphone) et est ajouté à la liste contacts. Un message sera affiché pour confirmer l’ajout du contact comme il est montré dans le code suivant.

				
					def add_contact(self, name, email, phone_number):
c = Contact(name, email, phone_number)
self.contacts.append(c)
print(f"{c.name} added to address book.")
				
			

Supprimer un contact avec la méthode remove_contact

La méthode remove_contact permet de supprimer un contact en recherchant son nom dans la liste des contacts. Si un contact avec le nom correspondant est trouvé, il est retiré de la liste, et un message de confirmation de suppression est affiché. Si le contact n’est pas trouvé, un message d’erreur s’affiche comme il est montré dans le code suivant :

				
					def remove_contact(self, name):
for item in self.contacts:
if item.name == name:
self.contacts.remove(item)
print(f"{name} removed from address book.")
return
print(f"{name} not found in address book.")
				
			

Afficher les contacts avec la méthode display_contacts

La méthode display_contacts affiche pour chaque contact dans la liste contacts, ses informations (nom, e-mail, numéro de téléphone) de manière formatée.

				
					def display_contacts(self):
for item in self.contacts:
print(f"Name: {item.name}")
print(f"Email: {item.email}")
print(f"Phone Number: {item.phone_number}")
print()
				
			

Voici la figure du module addressbook.py, où la classe AddressBook est définie avec des méthodes nécessaires pour gérer les contacts.

Classe AddressBook avec attributs et méthodes en Python
 Une erreur fréquente est d’essayer d’utiliser une classe qui existe dans un autre module sans l’importer au préalable. Par exemple, si vous essayez d’utiliser la classe Contact dans le fichier addressbook.py sans l’avoir importée avec une ligne comme from contact import Contact, cela entraînera une erreur NameError car Python ne reconnaîtra pas la classe Contact

Interagir avec l’utilisateur dans le carnet d'adresses

Construire le main pour gérer les contacts en Python

Comme une dernière étape, vous allez implémenter une boucle while pour offrir un menu interactif à l’utilisateur, lui permettant d’ajouter, de supprimer ou d’afficher des contacts, ou de quitter l’application.

				
					address_book = AddressBook()
while True:
print("1. Add Contact")
print("2. Remove Contact")
print("3. Display Contacts")
print("4. Quit")
choice = input("Enter your choice: ")
if choice == "1":
name = input("Enter name: ")
email = input("Enter email: ")
phone_number = input("Enter phone number: ")
address_book.add_contact(name, email, phone_number)
elif choice == "2":
name = input("Enter name: ")
address_book.remove_contac(name)
elif choice == "3":
address_book.display_contacts()
elif choice == "4":
break
else:
print("Invalid choice. Please try again.")
				
			
  • Ici, nous créons une instance de AddressBook pour commencer à gérer notre carnet d’adresses.
    • Une boucle while est utilisée pour afficher un menu de choix à l’utilisateur.
    • En fonction de la sélection de l’utilisateur, l’une des méthodes du carnet d’adresses est appelée :

Voici un tableau qui offre une vue d’ensemble clair du fonctionnement du menu interactif et de la manière dont chaque choix est géré par le programme :

Option de Menu
Description de l’Action
Méthode Correspondante
1. Add Contact
L’utilisateur est invité à entrer le nom, l’e-mail et le numéro de téléphone. Ces informations sont ensuite utilisées pour ajouter un nouveau contact dans le carnet d’adresses.
add_contact(name, email, phone_number)
2. Remove Contact
L’utilisateur entre le nom du contact à supprimer. Si ce contact est trouvé dans le carnet d’adresses, il est retiré.
remove_contact(name)
3. Display Contacts
Tous les contacts du carnet d’adresses sont affichés avec leurs informations respectives (nom, e-mail, numéro de téléphone).
display_contacts()
4. Quit
Quitte l’application. Si l’utilisateur choisit de quitter, la boucle while se termine et l’application se ferme.
break (sortie de la boucle while)

Python

Maîtrisez Python et transformez vos idées en projets concrets !

Découvrir cette formation
Guide complet Python pour développeurs et informaticiens 2024

Exemple d’utilisation du carnet d'adresses en Python

La figure suivante illustre l’exécution de l’application depuis main.py, où l’utilisateur peut interagir avec le carnet d’adresses à travers un menu simple et intuitif. elle permet à l’utilisateur de manipuler facilement les contacts via un menu intuitif. En construisant une interface simple mais efficace, l’utilisateur peut ajouter, supprimer, ou afficher des contacts selon ses besoins comme il est montré d ns la figure suivant :

				
					1. Add Contact
2. Remove Contact
3. Display Contacts
4. Quit
Enter your choice: 1
Enter name: Rosa
Enter email: Rosa@gmail.com
Enter phone number: +3312586479
Rosa added to address book.
1. Add Contact
2. Remove Contact
3. Display Contacts
4. Quit
Enter your choice: 2
Enter name: Rosa
Rosa removed from address book.
1. Add Contact
2. Remove Contact
3. Display Contacts
4. Quit
Enter your choice: 3
1. Add Contact
2. Remove Contact
3. Display Contacts
4. Quit
				
			

Formez-vous gratuitement avec Alphorm !

Maîtrisez les compétences clés en IT grâce à nos formations gratuites et accélérez votre carrière dès aujourd'hui. Découvrez des cours variés pour tous les niveaux !

Démarrer gratuitement
illustration processus de paiement en ligne avec étapes claires et convivialité

Conclusion

Cet exercice vous permet de mettre en pratique les concepts de la programmation orientée objet en Python, tout en créant une application de carnet d’adresses simple et fonctionnelle. Vous apprendrez à gérer des objets et à implémenter des fonctionnalités pratiques tout en manipulant des données utilisateurs.

Cet article fait partie du guide Tuto Python Gratuit : Apprenez les Bases et Réalisez des Projets Pratiques, partie 17 sur 23.
< Maîtriser l’héritage en Python : classes et méthodesMaîtriser la manipulation de fichiers en Python >

ÉTIQUETÉ : Python
Facebook
Twitter
LinkedIn
Email
WhatsApp
Par L'Équipe Alphorm
Démocratiser la Connaissance Informatique pour Tous !
Suivre :
L'Équipe Alphorm, c'est la démocratisation de la connaissance informatique. Passionnés et dévoués, nous sommes là pour vous guider vers le succès en rendant la technologie accessible à tous. Rejoignez notre aventure d'apprentissage et de partage. Avec nous, le savoir IT devient une ressource inspirante et ouverte à tous dans un monde numérique en constante évolution.

Derniers Articles

  • Techniques pour gérer les fichiers texte en C#
  • Créer et lire un fichier CSV avec C#
  • JSON : Comprendre et Utiliser Efficacement
  • Créer une Base SQLite dans C#
  • Lecture des données SQLite simplifiée
Laisser un commentaire Laisser un commentaire

Laisser un commentaire Annuler la réponse

Vous devez vous connecter pour publier un commentaire.

Blog Alphorm
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
En cours de lecture : Réaliser un exercice pratique Python : carnet d’adresses

© Alphorm - Tous droits réservés