【问题标题】:I am confused why is the return function printing a value on the console in my program. Isn't it just supposed to return a value?我很困惑为什么返回函数在我的程序的控制台上打印一个值。它不应该返回一个值吗?
【发布时间】:2019-08-21 21:36:52
【问题描述】:

我的程序重载了 + 运算符来计算 2 个学生的平均 GPA。 在我对 add 函数的定义中,我希望 return 语句返回平均值。然后我想使用 print() 打印这个“返回值”。

但是,return 语句似乎也与 print 语句一起打印平均值。

输出是:

8.0 
8.0

我不明白为什么 return 语句会打印该值。不应该只是返回值吗?

通过在线搜索此问题,我发现 return 应该打印值的唯一时间是使用交互式控制台时(我正在使用 pycharm)。

prints twice

prints once

class student():

    def __init__(self, name, gpa):
        self.name = name
        self.gpa = gpa

    def __add__(x, y):
        return ((x.gpa + y.gpa)/2)

s1 = student("john", 9)
s2 = student("wick", 7)

avg = s1 + s2
print(s1 + s2)

【问题讨论】:

  • 它只打印8.0
  • 效果很好
  • 你期望发生什么?
  • @Anwarvic 我可以添加截图吗?它在我的电脑上打印两次。
  • @Suyash,确保您的代码中没有其他打印,但我保证每次打印只打印一个输出。

标签: python pycharm


【解决方案1】:

看起来first screenshot 向下滚动时有更多源代码。检查那里是否存在打印...

【讨论】:

    猜你喜欢
    • 2019-09-03
    • 2023-03-09
    • 2022-01-21
    • 2022-07-12
    • 2015-04-02
    • 2015-09-01
    • 2021-05-29
    • 2017-03-28
    • 2021-05-24
    相关资源
    最近更新 更多