SORU
20 Mayıs 2011, Cuma


Neden bu ifade 0 < 0 == 0 Python Yanlış dönüş?

Bu biraz buldum yapısıdır buldum 2.6, garip Python Queue.py içine bakarak:

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 ise sıra dolmaz.

Benim soru nasıl bu dava için çalışıyor? Nasıl 4* *Yanlış kabul edilir mi?

>>> 0 < 0 == 0
False
>>> (0) < (0 == 0)
True
>>> (0 < 0) == 0
True
>>> 0 < (0 == 0)
True

CEVAP
20 Mayıs 2011, Cuma


Python özel durum ilişkisel operatörler dizisi için karşılaştırmalar ifade etmek kolay kullanım olduğuna inanıyorum. Çok güzel (0 < x) and (x <= 5) söylemek daha 0 < x <= 5 diyebilmek için.

Bu chained comparisons denir. Ve bu onlar için belgelerine bir bağlantı var.

Diğer davalar hakkında konuşmak, parantez bir ilişkisel operatör diğer önce uygulanan kuvvet, ve bu yüzden artık zincirleme karşılaştırmalar. True False cevaplar olsun tamsayı değerleri beri parenthesized sürümleri yapmak.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Fr. Eckle Studios

    Fr. Eckle St

    29 Kasım 2006
  • Māris Zaharovs

    Māris Zahar

    28 Mayıs 2008
  • UKF Dubstep

    UKF Dubstep

    29 NİSAN 2009