Introdução
Neste projeto, você aprenderá como implementar e testar a classe Lab no código backend do LabEx. A classe Lab é um componente central que representa um experimento dentro da plataforma LabEx.
👀 Pré-visualização
lab.tags=['python', 'data science', 'machine learning']
can user1 started the experiment: True
can user2 started the experiment: False
🎯 Tarefas
Neste projeto, você aprenderá:
- Como implementar o método
insert_tagpara garantir que tags duplicadas não sejam adicionadas ao objeto lab - Como implementar o método
can_be_startedpara determinar se um usuário pode iniciar o experimento, permitindo que apenas usuários autenticados e membros o façam - Como testar a classe
Labpara garantir que ela está funcionando conforme o esperado
🏆 Conquistas
Após concluir este projeto, você será capaz de:
- Compreender a importância de implementar corretamente classes centrais em um sistema backend
- Demonstrar a capacidade de escrever código limpo, sustentável e livre de erros para uma classe
- Adquirir experiência em testar e validar a funcionalidade de uma classe
Implementar a Classe Lab
Nesta etapa, você aprenderá como implementar a classe Lab no arquivo lab.py. Siga as etapas abaixo para concluir esta etapa:
- Abra o arquivo
lab.pyno seu editor de código preferido. - Localize a definição da classe
Lab. - Modifique o método
__init__para o seguinte código:
def __init__(self, name, tags=None):
self.name = name
self._tags = [] if tags is None else [tags]
- Implemente o método
insert_tagpara garantir que tags duplicadas não sejam inseridas no objeto lab. Você pode fazer isso verificando se a tag já existe na listaself._tagsantes de adicioná-la.
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 o método
can_be_startedpara determinar se o usuário pode iniciar o experimento. Este método deve retornarTruese o usuário estiver autenticado e for membro, eFalsecaso contrário.
def can_be_started(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
- Salve o arquivo
lab.py.
Testar a Classe Lab
Nesta etapa, você testará a classe Lab para garantir que ela está funcionando conforme o esperado. Siga as etapas abaixo para concluir esta etapa:
- Abra o arquivo
lab.pyno seu editor de código. - Localize o código na parte inferior do arquivo, que cria um objeto
Labe testa o métodocan_be_started. - Execute o arquivo
lab.pyusando o seguinte comando:
python lab.py
- Observe a saída, que deve ser:
lab.tags=['python', 'data science', 'machine learning']
can user1 started the experiment: True
can user2 started the experiment: False
Esta saída verifica que a classe Lab está funcionando conforme o esperado, com o seguinte comportamento:
- O objeto
Labpossui as tags esperadas sem quaisquer duplicatas. - O método
can_be_starteddetermina corretamente que ouser1, autenticado e membro, pode iniciar o experimento, mas ouser2, não autenticado e não membro, não pode.
Resumo
Parabéns! Você concluiu este projeto. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.



