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

Python调用类的返回值方法时为何需要加print()才能输出?

核心原因解释

两个方法的底层行为逻辑存在本质差异:

  • 你参考的bark()方法内部已经封装了print("Woof!")打印语句,调用时会自动执行打印操作,不需要额外加print()就能在控制台看到输出
  • 你编写的area()方法使用的是return语句,作用仅为将计算得到的面积值返回给调用方,不会主动执行任何打印操作

为什么直接调用obj.area()无输出

当你单独执行obj.area()时,方法返回的面积值没有被接收:你既没有把它赋值给变量做后续计算,也没有调用print()将其输出到控制台,返回值会被直接丢弃,自然看不到任何内容。

两种实现选择的区别

你可以根据需求选择两种实现方式:

  1. 保留return逻辑(更通用):适合需要复用面积计算结果的场景,比如后续要做面积求和、比较等操作,需要打印时用print(obj.area())即可
# 示例:复用返回值做计算
area1 = obj1.area()
area2 = obj2.area()
total_area = area1 + area2
  1. 改为内部打印逻辑:如果这个方法仅需要输出面积不需要返回值,可以直接把打印逻辑写在方法内,调用时不需要额外加print
def area(self):
    print(self.w * self.h)

# 调用后直接输出
obj.area()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 03:24:02