Python 3.x 自定义添加方法后出现python打印错误
我试图使用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):
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
等。噢,谢谢,速度太快了!