2012-11-13 17 views
6

Python'da Doğru ve Yanlış olarak iyi tanımlanmış mı, yoksa uygulama detayı olarak mı bırakılmıştır?Python'un bool sıralama tanımlandı mı?

Konsoldan, Yanlışdan önce Yanlış sıralama görüyorum ... ama buna güvenmem gereken bir davranış olup olmadığını bilmiyorum.

(... Bu konuda bazı Python doktor var eminim, ama onu bulamıyorum)

+1

Bonus puanları için, boole ile aritmetik yapmayı deneyin. '(True + True) ** -True == 0.5' ... –

+0

@JameySharp bir sihirbaz mısın? – rsegal

+0

@rsegal Ben '(gerçek, Yanlış, ...)' 'bir listedeki gerçek vakaların sayısını saymak için iyi bir yol olduğunu ve hızlı bir şekilde kötüye kullandığını keşfettim. –

cevap

12

http://docs.python.org/2/reference/datamodel.html#the-standard-type-hierarchy

Booleans: Bu gerçeği Yanlış ve Doğru değerleri temsil . False ve True değerlerini temsil eden iki nesne, yalnızca Boole nesneleridir. Boolean türü, düz tamsayıların bir alt türüdür ve Boolean değerleri, hemen hemen tüm bağlamlarda sırasıyla 0 ve 1 değerleri gibi davranır; istisna, bir dizeye dönüştürüldüğünde "False" veya "True" dizeleri döndürülür; sırasıyla.

Bu piton dil False < True, False == 0, True == 1, True != 2 gerektirdiğini bana okur. Aynı ifade Python 3 numaralı telefondan da korunmaktadır.

+2

Emin değilseniz, keskin bir anlayışla katılıyorum, bir yorumlayıcıya takmayı deneyin. Yanlışlıkla 'Doğru' olduğunu doğrulayacaksınız. Aslında, spekülasyonları okumak ve tercümana çevirmek her zaman iyi fikirler! – rsegal