Tõeväärtused

Tõeväärtused ehk bool tüüpi andmed saavad omada ainult väärtusi True või False.

Selleks, et näha, kas tegu on bool tüüpi andmestruktuuriga saab kasutada sisseehitatud type() funktsiooni.

>>> type(False)
<class 'bool'>
>>> type(True)
<class 'bool'>

Boolean väärtust saab omastada muutujatele, kuid vastupidist ei saa.

>>> a = True
>>> a
True
>>> True = 5
Traceback (most recent call last):
  File "<input>", line 1, in <module>
SyntaxError: cannot assign to True

Tõeväärtused on Pythonis numbrilise tüübiga ehk nendega saab aritmeetilisi operatsioone teostada.

>>> True == 1
True
>>> False == 0
True
>>> True + (False / True)
1.0

Selle kasulikkus tuleb välja olukorras, kui soovida lugeda kokku mitu eset vastab ette seatud tingimustele. Näiteks mitmes reas esineb sõna „ja“:

>>> lines = """\
Üks laevake läeb üle vee,
    läeb üle vee ja lainete.
    Kui valge luik kaob üle vee,
    kaob üle vee ja lainete.
    Mu armuke, mu kullake
    läks üle vee ja lainete.
"""
>>> line_list = lines.splitlines()
>>> "ja" in line_list[0]
False
>>> "ja" in line_list[1]
True
>>> 0 + False + True # Sama mis 0 + 0 + 1
1
>>> ["ja" in line for line in line_list]
[False, True, False, True, False, True]
>>> False + True + False + True + False + True
3
>>> len(line_list)
6
>>> 3 / 6
0.5

line_list hoiab järjendit luuletuse ridadest, esimeses reas pole sõna „ja“ ning sellepärast line_list[0] on False, kuid teises reas on „ja“ niiet line_list[1] on True. Kuna [„ja“ in line for line in line_list] on järjend kuuest bool väärtusest, saame need kokku liita. False + True + False + True + False + True võrdub 3-ga ja jagades selle ridade kogusega, mis on 6, saame 3 / 6 = 0.5. Siit näeme, et pooltes ridades esineb sõna „ja“.

Enamus väärtusi on True

Peaaegu iga väärtus on True, kui sellel on mingi sisu. Iga sõne on True, välja arvatud tühi sõne. Iga number on True, välja arvatud 0. Iga järjend, sõnastik, ennik ja hulk on True, kui nad pole tühjad.

Väärtused mis on alati False on False ise ja None.

Väärtuse kontrollimiseks saab kasutada sisseehitatud funktsiooni bool().

>>> bool("abc")
True
>>> bool("123")
True
>>> bool(["üks", "kaks", "kolm"])
True
>>> bool([])
False

Rohkem lugemist