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

Python3中Rug子类调用父类__str__方法输出内存地址异常

问题原因
  • 你的父类Rectangle没有自定义实现__str__方法,当调用super().__str__()时,实际会调用Python所有类的顶层父类object的默认__str__方法,该方法默认返回的就是你看到的对象内存地址字符串。
修复方案

方案1:给父类补充__str__方法(推荐,符合继承复用逻辑)

在Rectangle类中添加如下方法即可:

def __str__(self):
    return f"Length: {self.getLength()}, Width: {self.getWidth()}"

修改后子类的__str__调用super().__str__()就会返回父类定义的长宽信息,最终打印效果示例如下(假设输入长2、宽3):

Length: 2.0, Width: 3.0, Area: 6.0, Price: 150

方案2:直接修改子类的__str__方法(无需改动父类)

如果没有权限或不想修改父类代码,可以直接在子类的__str__里手动拼接父类的属性信息,不用调用super().__str__():

def __str__(self):
    return f"Length: {self.getLength()}, Width: {self.getWidth()}, Area: {self.getArea()}, Price: {self.getPrice()}"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 00:27:01