我很困惑为什么返回函数在我的程序中的控制台上打印一个值。它不就是应该返回一个值吗?



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

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

输出为:

8.0 
8.0

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

通过在线谷歌搜索这个问题,我发现返回应该打印值的唯一时间是使用交互式控制台时(我正在使用pycharm(。

打印两次

打印一次

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)

当您向下滚动时,第一个屏幕截图中似乎有更多的源代码。检查那里是否存在打印...

最新更新