Заглянув в Queue.py в Python 2.6, я нашел эту конструкцию, которая мне показалась немного странной:
def full(self):
"""Return True if the queue is full, False otherwise
(not reliable!)."""
self.mutex.acquire()
n = 0 < self.maxsize == self._qsize()
self.mutex.release()
return n
Если maxsize
равно 0, очередь не заполняется.
Мой вопрос в том, как он работает в этом случае? Как 0 < 0 == 0
считается False?
>>> 0 < 0 == 0
False
>>> (0) < (0 == 0)
True
>>> (0 < 0) == 0
True
>>> 0 < (0 == 0)
True