Introduction
Dans ce projet, vous allez apprendre à implémenter et à tester la classe Lab dans le code backend de LabEx. La classe Lab est un composant clé qui représente une expérience dans la plateforme LabEx.
👀 Aperçu
lab.tags=['python', 'data science','machine learning']
Le membre user1 peut-il démarrer l'expérience : Vrai
Le membre user2 peut-il démarrer l'expérience : Faux
🎯 Tâches
Dans ce projet, vous allez apprendre :
- Comment implémenter la méthode
insert_tagpour vous assurer qu'aucune étiquette en double n'est ajoutée à l'objet lab - Comment implémenter la méthode
can_be_startedpour déterminer si un utilisateur peut démarrer l'expérience, en autorisant uniquement les utilisateurs authentifiés et membres à le faire - Comment tester la classe
Labpour vous assurer qu'elle fonctionne comme prévu
🏆 Réalisations
Après avoir terminé ce projet, vous serez capable de :
- Comprendre l'importance d'une implémentation correcte des classes clés dans un système backend
- Montrer la capacité d'écrire un code propre, maintenable et exempt de bogues pour une classe
- Gagner de l'expérience dans le test et la validation de la fonctionnalité d'une classe
Implémentez la classe Lab
Dans cette étape, vous allez apprendre à implémenter la classe Lab dans le fichier lab.py. Suivez les étapes ci-dessous pour terminer cette étape :
- Ouvrez le fichier
lab.pydans votre éditeur de code préféré. - Localisez la définition de la classe
Lab. - Modifiez la méthode
__init__avec le code suivant :
def __init__(self, name, tags=None):
self.name = name
self._tags = [] if tags is None else [tags]
- Implémentez la méthode
insert_tagpour vous assurer qu'aucune étiquette en double n'est insérée dans l'objet lab. Vous pouvez le faire en vérifiant si l'étiquette existe déjà dans la listeself._tagsavant de l'ajouter.
def insert_tag(self, tag):
"""Insère des étiquettes et vérifie si l'étiquette existe déjà"""
if tag not in self._tags:
self._tags.append(tag)
- Implémentez la méthode
can_be_startedpour déterminer si l'utilisateur peut démarrer l'expérience. Cette méthode devrait renvoyerTruesi l'utilisateur est authentifié et membre, etFalsesinon.
def can_be_started(self, user):
"""Vérifie si l'utilisateur peut démarrer l'expérience, seul l'utilisateur membre connecté peut démarrer l'expérience"""
if user.is_authenticated and user.is_member:
return True
else:
return False
- Enregistrez le fichier
lab.py.
Testez la classe Lab
Dans cette étape, vous allez tester la classe Lab pour vous assurer qu'elle fonctionne comme prévu. Suivez les étapes ci-dessous pour terminer cette étape :
- Ouvrez le fichier
lab.pydans votre éditeur de code. - Localisez le code en bas du fichier, qui crée un objet
Labet teste la méthodecan_be_started. - Exécutez le fichier
lab.pyen utilisant la commande suivante :
python lab.py
- Observez la sortie, qui devrait être :
lab.tags=['python', 'data science','machine learning']
Le membre user1 peut-il démarrer l'expérience : Vrai
Le membre user2 peut-il démarrer l'expérience : Faux
Cette sortie vérifie que la classe Lab fonctionne comme prévu, avec le comportement suivant :
- L'objet
Laba les étiquettes attendues sans doublon. - La méthode
can_be_starteddétermine correctement que l'utilisateur authentifié et membreuser1peut démarrer l'expérience, mais que l'utilisateur non authentifié et non membreuser2ne peut pas.
Résumé
Félicitations ! Vous avez terminé ce projet. Vous pouvez pratiquer d'autres laboratoires sur LabEx pour améliorer vos compétences.



