Python 2.6 में Queue.py में देखते हुए, मैंने यह निर्माण पाया कि मुझे थोड़ा अजीब लगा:
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
अगर maxsize0 है तो कतार कभी भरी नहीं है।
मेरा सवाल यह है कि यह इस मामले के लिए कैसे काम करता है? कैसे 0 < 0 == 0माना जाता है झूठा?
>>> 0 < 0 == 0
False
>>> (0) < (0 == 0)
True
>>> (0 < 0) == 0
True
>>> 0 < (0 == 0)
True
>>> (0) < (0 == 0), यह स्पष्ट रूप से नहीं है।
n = 0 < self.maxsize == self._qsize()किसी भी भाषा में पहली जगह की तरह कोड लिखना नहीं चाहिए । यदि आपकी आँखों को कई बार लाइन में आगे और पीछे डार्ट करना है, तो यह पता लगाने के लिए कि क्या चल रहा है, यह एक अच्छी तरह से लिखी गई लाइन नहीं है। बस इसे कई लाइनों में विभाजित करें।