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

Python自定义Dolls类调用detail方法后输出多余None值问题咨询

问题产生原因

你定义的detail方法内部已经执行了打印操作,且没有显式声明返回值,Python中所有无显式return的函数默认返回None。你在调用时写了print(obj_1.detail()),执行逻辑是:先运行detail方法内部的两次print输出玩偶信息,再把detail方法默认返回的None打印出来,这就是多余None的来源。

解决方法

两种方案二选一即可:

  • 方案1:直接调用detail方法,不要外层套print。因为detail本身已经负责输出内容,不需要再打印它的返回值,把所有print(obj_x.detail())改成obj_x.detail()即可。
  • 方案2:修改detail方法的逻辑,不内部执行打印,而是返回需要输出的完整字符串,由外层print打印:
def detail(self):
    return f"Doll : {self.name}\nTotal Price : {self.price}"

修改后原有的print(obj_x.detail())写法可以正常运行,不会输出多余None。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 02:15:03