修复实现错误的实验类

PythonBeginner
立即练习

介绍

在这个项目中,你将学习如何在 LabEx 后端代码中实现和测试 Lab 类。Lab 类是一个核心组件,代表 LabEx 平台内的一个实验。

👀 预览

lab.tags=['python', '数据科学', '机器学习']
用户1能否启动实验:是
用户2能否启动实验:否

🎯 任务

在这个项目中,你将学习:

  • 如何实现 insert_tag 方法,以确保不会向实验对象添加重复的标签
  • 如何实现 can_be_started 方法,以确定用户是否可以启动实验,只允许经过身份验证的成员用户这样做
  • 如何测试 Lab 类,以确保它按预期工作

🏆 成果

完成这个项目后,你将能够:

  • 理解在后端系统中正确实现核心类的重要性
  • 展示为一个类编写简洁、可维护且无错误代码的能力
  • 获得测试和验证类功能的经验

实现实验类

在这一步中,你将学习如何在 lab.py 文件中实现 Lab 类。按照以下步骤完成此步骤:

  1. 在你喜欢的代码编辑器中打开 lab.py 文件。
  2. 找到 Lab 类的定义。
  3. __init__ 方法修改为以下代码:
def __init__(self, name, tags=None):
    self.name = name
    self._tags = [] if tags is None else [tags]
  1. 实现 insert_tag 方法,以确保不会将重复的标签插入到实验对象中。你可以通过在添加标签之前检查 self._tags 列表中是否已存在该标签来实现。
def insert_tag(self, tag):
    """插入标签并检查标签是否已存在"""
    if tag not in self._tags:
        self._tags.append(tag)
  1. 实现 can_be_started 方法,以确定用户是否可以启动实验。如果用户已认证且是成员,则此方法应返回 True,否则返回 False
def can_be_started(self, user):
    """检查用户是否可以启动实验,只有登录的成员用户才能启动实验"""
    if user.is_authenticated and user.is_member:
        return True
    else:
        return False
  1. 保存 lab.py 文件。

测试实验类

在这一步中,你将测试 Lab 类,以确保它按预期工作。按照以下步骤完成此步骤:

  1. 在你的代码编辑器中打开 lab.py 文件。
  2. 找到文件底部创建 Lab 对象并测试 can_be_started 方法的代码。
  3. 使用以下命令运行 lab.py 文件:
python lab.py
  1. 观察输出,应该是:
lab.tags=['python', '数据科学', '机器学习']
用户1能否启动实验:是
用户2能否启动实验:否

此输出验证了 Lab 类按预期工作,具有以下行为:

  • Lab 对象具有预期的标签,没有任何重复项。
  • can_be_started 方法正确确定已认证且是成员的 用户1 可以启动实验,但未认证且不是成员的 用户2 不能启动。

总结

恭喜!你已完成此项目。你可以在 LabEx 中练习更多实验以提升你的技能。

✨ 查看解决方案并练习✨ 查看解决方案并练习