__init__(self, a, b):
self.a=a
self.b=b
def __eq__(self, other):
print("here")
return self.a == other.a and self.b == other.b
a=Foo(1, 2)
b=Foo(3, 4)
c=deque([a, b])
print(a in c)
print(b in c)
В обоих случаях выводит True, что логично, однако только в 1 случае выводит "here", который должен выводиться из eq. Такое ощущение, что contains класса deque не всегда вызывает eq класса Foo.
Что я делаю не так?
А что не так? Оба элемента в с есть
Обсуждают сегодня