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

Python运行Multiplier2类代码报AttributeError: 'str'无problem属性求助

报错原因分析

这个报错的核心原因是错误的类实例化和方法调用方式,导致Calculate方法的self参数被传入了字符串类型的值:

  • 第一处错误:X = Multiplier2写法错误,这是将Multiplier2类本身赋值给变量X,没有创建类的实例,也没有执行__init__方法初始化problem属性。类实例化需要加括号并传入__init__要求的problem参数,正确写法应为X = Multiplier2(待处理的problem字符串)。
  • 第二处错误:调用Calculate方法时错误传入了输入字符串。类的普通方法第一个参数self默认接收实例对象本身,你未实例化就直接调用X.Calculate(input('Enter problem: ')),此时输入的字符串会被直接传给self参数,导致Calculate方法内部的self是字符串类型,访问self.problem自然会触发'str' object has no attribute 'problem'的报错。

你之前的代码可以正常运行,是因为之前正确完成了类的实例化,调用方法时self拿到的是类实例对象,实例已经初始化了对应的_problem属性,所以访问不会报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 02:57:03