私はPythonに比較的慣れていません。Time クラスがあり、Time オブジェクトのセットに別の Time オブジェクトのセットが含まれているかどうかを確認したいと考えています。
a = {Time(10,10)}
print {Time(10,10)}.issubset(a) >> "result is False"
for i in a:
print i in a >> "result is True"
クラスでは、これらのメソッドを実装しました
def to_min(self):
return self.h * 60 + self.m
def __cmp__(self, other):
if isinstance(other, Time):
if self.to_min() > other.to_min():
return 1
else:
if self.to_min() == other.to_min():
return 0
else:
return -1
def __eq__(self, other):
if isinstance(other, Time):
if self.to_min() == other.to_min():
return True
else:
return False
def __gt__(self, other):
return self.to_min() > other.to_min()
def __ge__(self, other):
return self.to_min() >= other.to_min()
def __lt__(self, other):
return self.to_min() < other.to_min()
def __le__(self, other):
return self.to_min() <= other.to_min()
def __str__ (self):
return str(self.h) + ":" + str(self.m)
def __hash__(self):
return self.to_min()
次のコード行を true に出力するには、他に何を実装または変更する必要があるのだろうか。the=at を読みました。containsメソッドがあります。ただし、1 つの Time オブジェクトに他のコンポーネントが含まれているかどうかを確認するつもりはありません。
a = {Time(10,10)}
print {Time(10,10)}.issubset(a) >>