Olhando para Queue.py no Python 2.6, achei essa construção que achei um pouco estranha:
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
Se maxsize
for 0, a fila nunca estará cheia.
Minha pergunta é como isso funciona para este caso? Como 0 < 0 == 0
é considerado falso?
>>> 0 < 0 == 0
False
>>> (0) < (0 == 0)
True
>>> (0 < 0) == 0
True
>>> 0 < (0 == 0)
True
>>> (0) < (0 == 0)
, claramente não é.
n = 0 < self.maxsize == self._qsize()
em primeiro lugar, em qualquer idioma. Se seus olhos precisam percorrer a linha várias vezes para descobrir o que está acontecendo, não é uma linha bem escrita. Apenas divida-o em várias linhas.