True, False ve Karşılıkları ile Matematiksel Denemeler
Arşiv notu: Bu yazı özgün haliyle korunmuştur. Sürümler, bağlantılar veya komutlar güncelliğini yitirmiş olabilir.

Python altında çalışırken True’nun 1, False’ın da 0’a karşılık geldiğini biliyoruz. Bunu type() ile onaylayamasak da, şöyle de bir gerçek var: Python altında 0 olmayan tüm sayılar True kabul ediliyor, boş olmayan listeler, içlerindeki tek eleman 0 bile olsa True kabul ediliyor. Bu sadece listeler için de geçerli değil, demetler, sözlükler ve kümelerde bu durum aynen geçerli. Şimdi değişik olduğuna inandığım birkaç işlem üzerinde deneme yapalım.
>>> True
True
>>> False
False
>>> True-False
1
>>> True+False
1
>>> True*False
0
>>> True/False
Traceback (most recent call last):
File "<pyshell#5>", line 1, in <module>
True/False
ZeroDivisionError: division by zero
>>> False/True
0.0
Önce True ve False’ın karşılılarını görerek başladık. O aşamada sayı göremesek de birbirleriyle işleme soktuğumuzda daha net sonuçlar elde edebiliyoruz. Bölme işlemi sırasında elimizdeki bir sayıyı False’a bölmek istediğimizde 0’a bölme hatası verdiğini de görüyoruz. Şimdi devam edelim.
>>> True-1
0
>>> False+1 == True
True
>>> True-1
0
>>> True+False-1
0
>>> True*5
5
>>> True*-10
-10
>>> False/True+5
5.0
Gördüğümüz üzere istediğimiz gibi 4 işlemi bu 2 mantıksal ifade üzerine uygulayabiliyoruz. Arada bir eşitlik kontrolü yaparak sonucu True olarak elde ettiğimize dikkat edin. Onu şunun üzerinden açıklamak daha doğru olacak:
>>> True*10-10 == False
True
Yani elimizdeki iki ifade birbirine eşitse True döndürdü. Bu ifadelerin nelerden oluştukları da bu aşamada önemini kaybetti.