You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python报错求助:'Marathon'对象无'runnerList'属性

嘿,这问题一看就明白啦!你遇到的AttributeError完全是拼写不一致搞出来的小乌龙~

问题核心

报错里明确说'Marathon' object has no attribute 'runnerList',但你贴的类定义里写的是runnersList = []——注意看,一个是runnerList(少了个s),一个是runnersList(多了个s)!Python对变量名大小写、拼写是严格区分的,这就导致代码里访问的属性和类里定义的对不上,自然找不到啦。

两种修复方案

  • 方案一:统一用类里的命名。把你代码中所有访问self.runnerList的地方(比如registered方法里的代码)改成self.runnersList,和类定义保持一致。
  • 方案二:统一用报错里的命名。如果本来就想叫runnerList,那把类里的定义改成runnerList = [],确保所有地方的命名统一。

额外小建议

另外注意:你现在把runnersList定义成了类属性,这意味着所有Marathon实例会共享同一个列表。如果你的需求是每个马拉松赛事有自己独立的参赛者列表,建议在__init__方法里初始化实例属性:

class Marathon:
    def __init__(self):
        self.runnersList = []  # 每个实例拥有独立的列表

这样就能避免多个实例互相干扰的问题咯!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 08:05:56