【发布时间】:2019-08-21 21:36:52
【问题描述】:
我的程序重载了 + 运算符来计算 2 个学生的平均 GPA。 在我对 add 函数的定义中,我希望 return 语句返回平均值。然后我想使用 print() 打印这个“返回值”。
但是,return 语句似乎也与 print 语句一起打印平均值。
输出是:
8.0
8.0
我不明白为什么 return 语句会打印该值。不应该只是返回值吗?
通过在线搜索此问题,我发现 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)
【问题讨论】:
-
它只打印
8.0 -
效果很好
-
你期望发生什么?
-
@Anwarvic 我可以添加截图吗?它在我的电脑上打印两次。
-
@Suyash,确保您的代码中没有其他打印,但我保证每次打印只打印一个输出。