Pythonissa on myös totuusarvoa ilmaiseva boolean muuttuja, jolle voi tehdä loogiikka operaatioita. Sen arvona on totuusarvo, joka voi olla joko tosi tai epätosi. Boolean literaalit kirjoitetaan niiden englannin kielisillä nimillä isolla kirjaimella alkaen True ja False.
Pythonissa avainsanat and, or ja not ovat varattu peruslogiikka operaatioille. Ja - toiminto (and) palauttaa arvon tosi kun molemmat operandit ovat tosia. Tai - toiminto (or) palauttaa arvon tosi kun ainakin jompikumpi operandeista on tosi. Ei - toiminto (not) palauttaa sitä seuraavan operandin totuusarvon käänteisenä.
{code}
>>> True and False
False
>>> True and True
True
>>> False or True
True
>>> not True
False
>>> not False
True
>>> not(True and True)
False
>>>
{code}
Vertailu operaattoreita käytetään arvojen vertailuun; ne palauttavat totuusarvon, joka kertoo onko vertailu totta. Vertailu operaattoreita ovat yhtäsuuruus ==, erisuuruus \!=, pienempi kuin <, pienempi tai yhtäsuuri kuin <=, suurempi kuin > sekä suurempi tai yhtäsuurikuin >=. Numeerisilla muuttujilla vertailu kohdistuu sen numeeriseen arvoon. (huom. ei toimi kompleksiluvuilla)
Totuusarvoja käsitellään vertailuissa numeerisina arvoina 0 ja 1.
{code}
>>> 1 < 9
True
>>> -2 > 7877
False
>>> 1 == 1.0
True
>>> 34 != 7
True
>>> 700 != 7e2
False
>>> 2 >= 2
True
>>> 4.5 <= 90
True
>>> True == 1
True
>>>
{code}
Vertailu operaatioita voi myös laittaa monta peräkkäin, jolloin voidaan testata esim. kuuluuko joku numereerisen muuttujan arvo tietylle välille.
{code}
>>> 0 <= 5 < 10
True
>>> 0 <= 0 < 10
True
>>> 0 <= -9 < 10
False
>>>
{code}
Vertailu operaattorit toimivat myös merkkijonoille. Vertailu kumminkin tapahtuu aakkosjärjestyksen mukaisesti eli kahden merkkijonon merkkejä vertaillaan yksi kerrallaan ja se merkkijono, jolla ensimmäisenä on "suurempi merkki" on myös suurempi merkkijono. Pythonissa aakkosjärjestys ei tosin ole todellinen aakkosjärjestys, vaan merkkejä vertaillaan niiden koodauksessa käytettävän numeroarvon perusteella, minkä takia esim. isot kirjaimet ovat "pienempiä" kuin vastaavasta pikkukirjaimet. Merkkijonoja ei voi verrata numeerisiin muuttujiin tai totuusarvoihin.
{code}
>>> "a" > "A"
True
>>> "abcd" < "bcd"
True
>>> "abcdefg" < "abcde"
False
>>> "hi" == "hi"
True
>>>
{code}
Merkkijonoille on lisäksi operaattori, jonka avulla voi tarkistaa kuuluuko jokin pienempi merkkijono tai yksittäinen merkki toiseen merkkijonoon. Operaattorina toimii avainsana in. Vastaavasti not in palauttaa tosi, jos ensimmäinen merkkijono ei ole jälkimmäisessä.
{code}
>>> "d" in "abcde"
True
>>> "q" in "abcde"
False
>>> "bc" in "abcde"
True
>>> "efg" not in "abcde"
True
>>>
{code}
Pythonin sisäänrakennetuissa muuttujissa on myös metodeja. Metodeja käytetään samaan tapaan kuin moduuliin kuuluvaa funktiota eli pisteoperaattorin avulla. Metodin ajatus liittyy olio-ohjelmointiin, mitä käydään myöhemmin läpi.
Pythonin merkkijono muuttujassa on muutamia hyödyllisiä totuusarvoja palauttavia metodeja. Niiden avulla voi selvittää esimerkiksi sisältääkö merkkijono numeroarvon vai kirjaimia tai ovatko kirjaimet isoja vai pieniä. Tässä on muutamia esimerkkejä.
{code}
>>> "342".isdecimal()
True
>>> "g42".islower()
True
>>> "ABCD".isupper()
True
>>> "3ab".isdigit()
False
>>> "metropolia".startswith('m')
True
>>> "metropolia".endswith('s')
False
>>>
{code}
Näiden avulla voidaan esimerkiksi tarkastella käyttäjän syöttämää tekstiä onko se ohjelman käyttöön sopivaa. |