Beim Betrachten von Queue.py in Python 2.6 fand ich dieses Konstrukt, das ich etwas seltsam fand:
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
Wenn maxsize
0 ist, ist die Warteschlange nie voll.
Meine Frage ist, wie es in diesem Fall funktioniert? Wie 0 < 0 == 0
wird als falsch angesehen?
>>> 0 < 0 == 0
False
>>> (0) < (0 == 0)
True
>>> (0 < 0) == 0
True
>>> 0 < (0 == 0)
True
>>> (0) < (0 == 0)
, dass dies eindeutig nicht der Fall ist.
n = 0 < self.maxsize == self._qsize()
in irgendeiner Sprache schreiben sollten . Wenn Ihre Augen mehrmals über die Linie hin und her huschen müssen, um herauszufinden, was los ist, ist dies keine gut geschriebene Linie. Teilen Sie es einfach in mehrere Zeilen auf.