Neden int bir alt sınıfı bool mi? | Netgez.com
SORU
17 Kasım 2011, PERŞEMBE


Neden int bir alt sınıfı bool mi?

Bir bool depolama ile python-memcached memcached zaman bir tamsayı olarak döndürülür fark ettim. Kütüphane kodunu kontrol isinstance(val, int) bir tamsayı değeri bayrağı kontrol etmek için bir yer olduğunu bana gösterdi.

Python kabuğunda test ettim ve şunları fark ettim:

>>> isinstance(True, int)
True
>>> issubclass(bool, int)
True

Ama neden tam olarak bool int sınıfıdır?

Bir bakıma mantıklı çünkü bir boolean temel olarak bir int olan sadece iki değerleri ama ihtiyacı çok daha az operasyon alanı daha gerçek bir tam sayı (aritmetik, sadece tek bir bit depolama alanı)....

CEVAP
17 Kasım 2011, PERŞEMBE


http://www.peterbe.com/plog/bool-is-int bir yorum

Eğer bool türü zaman yanlarında olsaydı gayet mantıklı, python (bazen yaklaşık 2.2 veya 2.3) eklendi.

Gerçek bool bir tür giriş öncesinde, 0 ve 1 idi doğruluk değeri, C89 benzer resmi gösterimi. Önlemek için gereksiz yere ideal olmayan kırılma ama Kanun, yeni bool tipi çalışma 0 ve 1 gibi çalışması gerekli. Bu sadece doğruluk değeri,ötesinde ama tüm integral işlemleri. Kimse bir boolean kullanmanızı tavsiye ederim sayısal bir bağlamda sonuç, ne de çoğu insan test tavsiye ederim gerçek değerini belirlemek için eşitlik, kimse sabit olduğunu öğrenmek istedim sadece varolan kodu bu şekilde ne kadar yol. Bu nedenle bu kararı Doğru ve Yanlış olarak maskeli balo 1 ve 0 sırasıyla. Bu sadece bir. dilsel evrim tarihi eser.

Kredi bu güzel açıklama için dman13 gider.

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ★ByScrapi★ Designs

    ★ByScrapiâ

    27 AÄžUSTOS 2013
  • FND Films

    FND Films

    2 Mayıs 2006
  • waterfairy17

    waterfairy17

    9 Aralık 2007