Einführung
In diesem Projekt lernst du, wie du die Lab-Klasse im Backend-Code von LabEx implementierst und testest. Die Lab-Klasse ist ein Kernkomponenten, die ein Experiment innerhalb der LabEx-Plattform repräsentiert.
👀 Vorschau
lab.tags=['python', 'data science','machine learning']
Kann der Benutzer1 das Experiment starten: True
Kann der Benutzer2 das Experiment starten: False
🎯 Aufgaben
In diesem Projekt wirst du lernen:
- Wie du die
insert_tag-Methode implementierst, um sicherzustellen, dass keine doppelten Tags zum Lab-Objekt hinzugefügt werden - Wie du die
can_be_started-Methode implementierst, um zu bestimmen, ob ein Benutzer das Experiment starten kann, wobei nur authentifizierte und Mitgliedsbenutzer dies tun dürfen - Wie du die
Lab-Klasse testest, um sicherzustellen, dass sie wie erwartet funktioniert
🏆 Errungenschaften
Nach Abschluss dieses Projekts wirst du in der Lage sein:
- Die Wichtigkeit des richtigen Implementierens von Kernklassen in einem Backend-System zu verstehen
- Die Fähigkeit zu demonstrieren, sauberen, wartbaren und fehlerfreien Code für eine Klasse zu schreiben
- Erfahrungen im Testen und Validieren der Funktionalität einer Klasse zu sammeln
Implementiere die Lab-Klasse
In diesem Schritt lernst du, wie du die Lab-Klasse in der lab.py-Datei implementierst. Folge den Schritten unten, um diesen Schritt abzuschließen:
- Öffne die
lab.py-Datei in deinem bevorzugten Code-Editor. - Locate die
Lab-Klassendefinition. - Ändere die
__init__-Methode in den folgenden Code:
def __init__(self, name, tags=None):
self.name = name
self._tags = [] if tags is None else [tags]
- Implementiere die
insert_tag-Methode, um sicherzustellen, dass keine doppelten Tags in das Lab-Objekt eingefügt werden. Du kannst dies tun, indem du überprüfst, ob das Tag bereits in derself._tags-Liste vorhanden ist, bevor du es hinzufügst.
def insert_tag(self, tag):
"""Füge Tags hinzu und überprüfe, ob das Tag bereits vorhanden ist"""
if tag not in self._tags:
self._tags.append(tag)
- Implementiere die
can_be_started-Methode, um zu bestimmen, ob der Benutzer das Experiment starten kann. Diese Methode sollteTruezurückgeben, wenn der Benutzer authentifiziert und ein Mitglied ist, undFalseandernfalls.
def can_be_started(self, user):
"""Überprüfe, ob der Benutzer das Experiment starten kann, nur angemeldete Mitgliedsbenutzer können das Experiment starten"""
if user.is_authenticated and user.is_member:
return True
else:
return False
- Speichere die
lab.py-Datei.
Teste die Lab-Klasse
In diesem Schritt wirst du die Lab-Klasse testen, um sicherzustellen, dass sie wie erwartet funktioniert. Folge den Schritten unten, um diesen Schritt abzuschließen:
- Öffne die
lab.py-Datei in deinem Code-Editor. - Locate den Code am Ende der Datei, der ein
Lab-Objekt erstellt und diecan_be_started-Methode testet. - Führe die
lab.py-Datei mit dem folgenden Befehl aus:
python lab.py
- Beobachte die Ausgabe, die wie folgt sein sollte:
lab.tags=['python', 'data science','machine learning']
Kann der Benutzer1 das Experiment starten: True
Kann der Benutzer2 das Experiment starten: False
Diese Ausgabe verifiziert, dass die Lab-Klasse wie erwartet funktioniert, mit dem folgenden Verhalten:
- Das
Lab-Objekt hat die erwarteten Tags ohne Duplikate. - Die
can_be_started-Methode bestimmt korrekt, dass der authentifizierte und Mitgliedsbenutzeruser1das Experiment starten kann, der nicht authentifizierte und nicht Mitgliedsbenutzeruser2jedoch nicht.
Zusammenfassung
Herzlichen Glückwunsch! Du hast dieses Projekt abgeschlossen. Du kannst in LabEx weitere Labs ausprobieren, um deine Fähigkeiten zu verbessern.



