Python 为什么我的函数每次调用时都返回None,即使它有一个return语句
我正在学习Python类,下面是我编写的代码Python 为什么我的函数每次调用时都返回None,即使它有一个return语句,python,python-3.x,function,class,return,Python,Python 3.x,Function,Class,Return,我正在学习Python类,下面是我编写的代码 class Time: def __init__(self, hour, minute): self.hour=hour self.minute=minute def displayTime(self): return f"{self.hour} hours and {self.minute} minutes" def addTime(self, s): t
class Time:
def __init__(self, hour, minute):
self.hour=hour
self.minute=minute
def displayTime(self):
return f"{self.hour} hours and {self.minute} minutes"
def addTime(self, s):
temp = Time(0,0)
temp.minute = self.minute + s.minute
temp.hour = self.hour + s.hour
if temp.minute>=60:
temp.hour+=1
temp.minute-=60
temp.displayTime()
if __name__=='__main__':
t1= Time(12,50)
t2 = Time(11,36)
print(t1.displayTime())
print(t2.displayTime())
print(t1.addTime(t2))
但当我运行它时,最后一个print语句将打印None
。但是如果我将displayTime
中的return
更改为print
,它会正确地打印时间
我做错了什么?def addTime(self,s):
def addTime(self, s):
temp = Time(0,0)
temp.minute = self.minute + s.minute
temp.hour = self.hour + s.hour
if temp.minute>=60:
temp.hour+=1
temp.minute-=60
return temp.displayTime() # <- this is the issue.
温度=时间(0,0)
温度分钟=自身分钟+秒分钟
温度小时=自身小时+秒小时
如果温度分钟>=60:
温度小时+=1
温度分钟-=60
返回temp.displayTime()#def addTime(self,s):
温度=时间(0,0)
温度分钟=自身分钟+秒分钟
温度小时=自身小时+秒小时
如果温度分钟>=60:
温度小时+=1
温度分钟-=60
return temp.displayTime()#我一发布就得到了答案。为了将来参考他人,我将答案张贴在这里
在functionaddTime
中,我调用了函数displayTime
def addTime(self, s):
...
temp.displayTime()
函数displayTime将值返回函数addTime
,而addTime
不返回任何内容。因此,它打印None
要更正它,我只需要返回显示时间
def addTime(self, s):
...
return temp.displayTime()
我一贴出来就得到了答案。为了将来参考他人,我将答案张贴在这里
在functionaddTime
中,我调用了函数displayTime
def addTime(self, s):
...
temp.displayTime()
函数displayTime将值返回函数addTime
,而addTime
不返回任何内容。因此,它打印None
要更正它,我只需要返回显示时间
def addTime(self, s):
...
return temp.displayTime()
您应该在addTime
方法最后一行添加return temp.displayTime()
。您应该在addTime
方法最后一行添加return temp.displayTime()
。感谢您的回答。我一贴出问题就得到了答案,并在这里写下了答案。不过,还是非常感谢你的回答。谢谢你的回答。我一贴出问题就得到了答案,并在这里写下了答案。不过,还是非常感谢你的回答。