Python 为什么我的函数每次调用时都返回None,即使它有一个return语句

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

我正在学习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):
        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()#我一发布就得到了答案。为了将来参考他人,我将答案张贴在这里

在function
addTime
中,我调用了函数
displayTime

def addTime(self, s):
    ...
   temp.displayTime()
函数displayTime将值返回函数
addTime
,而
addTime
不返回任何内容。因此,它打印
None

要更正它,我只需要返回显示时间

def addTime(self, s):
    ...
   return temp.displayTime()

我一贴出来就得到了答案。为了将来参考他人,我将答案张贴在这里

在function
addTime
中,我调用了函数
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()
。感谢您的回答。我一贴出问题就得到了答案,并在这里写下了答案。不过,还是非常感谢你的回答。谢谢你的回答。我一贴出问题就得到了答案,并在这里写下了答案。不过,还是非常感谢你的回答。