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

Python类中无return语句的自定义方法返回None问题求助

原因说明

Python 中的所有函数和类方法,在没有显式编写 return 语句的情况下,执行完成后都会默认返回 None。
你遇到的重复输出 None 的问题,是代码里触发了两次打印逻辑:

  1. 调用类方法时,方法内部的 print() 语句会先输出对应的提示文本
  2. 你在调用方法的外层又套了一层 print(),会把方法的返回值打印出来,因为方法没有自定义返回内容,所以打印的就是默认的 None

修复方案

方案一:直接调用类方法,不用外层嵌套 print()

你的类方法本身已经内置了打印逻辑,直接调用即可输出内容,不需要再用 print 包裹调用语句:

msg1 = GreetingMessage()

# 直接调用,不需要套print
msg1.welcome_message()
msg1.on_process_message()
msg1.thank_you_message()

方案二:修改类方法,返回文本内容

如果你需要拿到方法输出的文本做后续处理,可以把方法内部的 print 改为 return,调用时再用 print 打印返回值:

class GreetingMessage:
    def welcome_message(self):
        return "you are welcome to python"
    def thank_you_message(self):
        return "Ok Bye Thank You"
    def on_process_message(self):
        return "process is on progress"


msg1 = GreetingMessage()

print(msg1.welcome_message())
print(msg1.on_process_message())
print(msg1.thank_you_message())

两种方案都可以消除多余的 None 输出,根据你的实际使用需求选择即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 17:48:01