Introducción
En este proyecto, aprenderás cómo implementar y probar la clase Lab en el código del backend de LabEx. La clase Lab es un componente central que representa un experimento dentro de la plataforma LabEx.
👀 Vista previa
lab.tags=['python', 'data science','machine learning']
¿Puede el usuario1 iniciar el experimento?: Verdadero
¿Puede el usuario2 iniciar el experimento?: Falso
🎯 Tareas
En este proyecto, aprenderás:
- Cómo implementar el método
insert_tagpara asegurarse de que no se agreguen etiquetas duplicadas al objeto de laboratorio - Cómo implementar el método
puede_ser_iniciadopara determinar si un usuario puede iniciar el experimento, permitiendo hacerlo solo a usuarios autenticados y miembros - Cómo probar la clase
Labpara asegurarse de que funcione como se espera
🏆 Logros
Después de completar este proyecto, podrás:
- Comprender la importancia de implementar adecuadamente las clases centrales en un sistema de backend
- Demostrar la capacidad de escribir código limpio, mantenible y libre de errores para una clase
- Adquirir experiencia en la prueba y validación de la funcionalidad de una clase
Implementar la clase Lab
En este paso, aprenderás cómo implementar la clase Lab en el archivo lab.py. Siga los pasos siguientes para completar este paso:
- Abra el archivo
lab.pyen su editor de código preferido. - Localice la definición de la clase
Lab. - Modifique el método
__init__al siguiente código:
def __init__(self, name, tags=None):
self.name = name
self._tags = [] if tags is None else [tags]
- Implemente el método
insert_tagpara asegurarse de que no se inserten etiquetas duplicadas en el objeto de laboratorio. Puede hacer esto verificando si la etiqueta ya existe en la listaself._tagsantes de agregarla.
def insert_tag(self, tag):
"""Insert tags and check if the tag already exists"""
if tag not in self._tags:
self._tags.append(tag)
- Implemente el método
puede_ser_iniciadopara determinar si el usuario puede iniciar el experimento. Este método debe devolverTruesi el usuario está autenticado y es miembro, yFalseen caso contrario.
def puede_ser_iniciado(self, user):
"""Check if the user can start the experiment, only logged-in member users can start the experiment"""
if user.is_authenticated and user.is_member:
return True
else:
return False
- Guarde el archivo
lab.py.
Probar la clase Lab
En este paso, probarás la clase Lab para asegurarte de que funcione como se espera. Sigue los pasos siguientes para completar este paso:
- Abre el archivo
lab.pyen tu editor de código. - Localiza el código al final del archivo, que crea un objeto
Laby prueba el métodopuede_ser_iniciado. - Ejecuta el archivo
lab.pyusando el siguiente comando:
python lab.py
- Observa la salida, que debería ser:
lab.tags=['python', 'data science','machine learning']
¿Puede el usuario1 iniciar el experimento?: Verdadero
¿Puede el usuario2 iniciar el experimento?: Falso
Esta salida demuestra que la clase Lab está funcionando como se espera, con el siguiente comportamiento:
- El objeto
Labtiene las etiquetas esperadas sin duplicados. - El método
puede_ser_iniciadodetermina correctamente que el usuario autenticado y miembrouser1puede iniciar el experimento, pero el usuario no autenticado y no miembrouser2no puede.
Resumen
¡Felicidades! Has completado este proyecto. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.



