Al investigar Queue.py en Python 2.6, encontré esta construcción que me pareció un poco extraña:
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
Si maxsize
es 0, la cola nunca está llena.
Mi pregunta es ¿cómo funciona para este caso? ¿Cómo 0 < 0 == 0
se considera falso?
>>> 0 < 0 == 0
False
>>> (0) < (0 == 0)
True
>>> (0 < 0) == 0
True
>>> 0 < (0 == 0)
True
>>> (0) < (0 == 0)
, claramente no lo es.
n = 0 < self.maxsize == self._qsize()
en primer lugar, en ningún idioma. Si sus ojos tienen que moverse de un lado a otro de la línea varias veces para descubrir lo que está sucediendo, no es una línea bien escrita. Simplemente divídalo en varias líneas.