Python 3.x 自定义添加方法后出现python打印错误

Python 3.x 自定义添加方法后出现python打印错误,python-3.x,Python 3.x,我试图使用python制作一个时间码计算器,但我不明白为什么输出是错误的: class Time: def __init__(self, hour=0, minute=0, second=0, image=0): self.hour = hour self.minute = minute self.second = second self.image = image def __str__(self):

我试图使用python制作一个时间码计算器,但我不明白为什么输出是错误的:


class Time:
    def __init__(self, hour=0, minute=0, second=0, image=0):
        self.hour = hour
        self.minute = minute
        self.second = second
        self.image = image

    def __str__(self):
        return "{:02d}:{:02d}:{:02d}:{:02d}".format(self.hour, self.minute, self.second, self.image)

    def __add__(self, second_time):
        new_time = Time()
        #define image add for 24 FPS
        if(self.image + second_time.image) >= 24:
            self.second += 1
            new_time.image = (self.image + second_time.image) - 24
        else:
            new_time.image = self.image + second_time.image
        #define second add for 24 FPS
        if(self.second + second_time.second) >= 60:
            self.minute += 1
            new_time.second = (self.second + second_time.second) - 60
        else:
            new_time.second = self.second + second_time.second
        #define minutes add for 24 FPS
        if(self.minute + second_time.minute) >= 60:
            self.hour += 1
            new_time.minute = (self.minute + second_time.minute) - 60
        else:
            new_time.minute = self.minute + second_time.minute
        #define hours add for 24 FPS
        if(self.hour + second_time.hour) >= 24:
            new_time.hour = (self.hour + second_time.hour) - 24
        else:
            new_time.hour = self.hour + second_time.hour

        return new_time

time1 = Time(2, 23, 21, 10)

time2 = Time(2, 21, 2, 22)

test = time1 + time2

print(time1)
如果我在“test=time1+time2”之前打印time1,time1=02:23:21:10,但是当我在测试之后打印它时,就像上面代码中那样,time 1的值是02:23:22:10

我错过什么了吗?为什么时间1的价值会改变


感谢您的帮助

您正在修改添加方法中的
self.hour
self.minute
等。哦,谢谢,这太快了!您正在修改添加方法中的
self.hour
self.minute
等。噢,谢谢,速度太快了!