我在python中建立了一个新类,它用6位数字定义时间(例如18:45:00)
class Time(object):
def __init__(self, hour, minute, second):
minute = minute + second / 60
hour = hour + minute / 60
self.hour = hour % 24
self.minute = minute % 60
self.second = second % 60
Run Code Online (Sandbox Code Playgroud)
我还定义了许多方法来使其正常工作。我遇到的问题是 cmp 方法:
def __cmp__(self,other):
return cmp(self.to_seconds(),other.to_seconds())
Run Code Online (Sandbox Code Playgroud)
当我尝试比较时间时它工作得很好,如果我对时间列表进行排序它也工作得很好。但是,如果我尝试对时间和整数或字符串列表进行排序,它也可以工作。我如何将其定义为仅比较时间,并在尝试将时间与其他时间进行比较时引发错误。