You need to enable JavaScript to run this app. Python __str__方法改造:将逐行打印逻辑调整为返回字符串实现
优惠活动
大模型
产品
解决方案
定价
更多

Python __str__方法改造:将逐行打印逻辑调整为返回字符串实现

学生类__str__方法改造实现

改造后的完整代码如下,全程保留原有业务逻辑,移除所有逐行print调用,将所有待展示信息拼接为完整字符串返回,贴合Python __str__方法的设计要求:

def __str__(self):
    """Returns the string representation of the student."""
    avg = sum(self.scores) / len(self.scores)
    # 对齐原逐行打印的全部内容
    content_lines = [
        "Name: " + str(self.name),
        "Score 1: " + str(self.scores[0]),
        "Score 2: " + str(self.scores[1]),
        "Score 3: " + str(self.scores[2]),
        "High: " + str(int(max(self.scores))),
        "Average: %.2f\n" % avg
    ]
    # 用换行符拼接所有行,作为方法返回值
    return '\n'.join(content_lines)

合规性校验

  • 业务逻辑完全对齐原实现:保留平均分计算规则、三门课程成绩逐行展示、最高成绩强制取整、平均分固定保留两位小数的格式要求
  • 展示效果一致:直接对学生实例调用print()时,核心展示内容和原逐行print版本无差异
  • 符合魔术方法设计规范:__str__方法本身不触发控制台打印操作,无额外副作用,返回的字符串可直接用于日志输出、数据序列化等各类需要学生信息文本的场景

内容的提问来源于stack exchange,提问作者aesthetics

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.29 22:24:02