Aritmeetiliste tehete juures nägime, kuidas tulemus olenes sellest, millist tüüpi andmetega tehet tehti. Sellist olukorda võib mujalgi ette tulla.
Olgu meil avaldised
Kas teine avaldis on vale? Ei ole, kui meil on tegemist kahendsüsteemiga. Kui meil on avaldis
Pythonis on kasutusel järgmised andmetüübid:
Käesoleva kursuse raames on meile olulised stringid, loendid, tavalised täisarvud, vähem ka kujutused ja failid.
Nagu eespool öeldud, võivad ühed ja samad tehted olenevalt andmete tüübist anda erinevaid tulemusi. Iga andmetüübi juures on toodud ka tabel nendega teostavatest tehetest koos oodatavate tulemuste seletusega.
>>>
2+2 4>>>
...
2+2 4>>>
2+2 4
Pythonis eristatakse järgmisi arvandmete tüüpe:
Täisarvud on (vähemalt) 32-bitise esitustäpsusega (sõltub masinast), pikad täisarvud on piiramatu esitustäpsusega. Ujukomaarvude täpsus sõltub masinast, millel töötatakse.
Pikkadele täisarvudele lisatakse lõppu L. Ujukomaarvud sisaldavad kümnendkoha eraldajat (Pythonis on selleks punkt ".") või eksponendimärki ("e" ja kohtade arv).
Kui on vaja näidata, et on tegemist kaheksandsüsteemi arvuga, lisatakse sellele ette "0":
>>>
a = 010>>>
a 8
Kui on vaja näidata, et on tegemist kuueteistkümendsüsteemi arvuga, lisatakse sellele ette "0x" või "0X":
>>>
a = 0Xa4>>>
a 164>>>
b = 0xBc>>>
b 188
Tabel 3.1. Olulisemad tehted arvudega
Tehe | Seletus | Märkused |
---|---|---|
| x ja y summa | |
| x ja y vahe | |
| x ja y korrutis | |
| x ja y jagatis | (1) |
| x ja y jagatise täisosa | |
| jääk | |
abs( | x absoluuutväärtus
| |
int( | x täisarvuna | (2) |
long( | x pika täisarvuna | (2) |
float( | x ujukomaarvuna | |
| x astmel y |
Kui jagatakse täisarve, on tulemuseks täisarv. Tulemus ümardatakse alati allapoole. 1/2 on 0, (-1)/2 on -1, 1/(-2) on -1 ja (-1)/(-2) on 0.
Ujukomaarvude teisendamisel täisarvuks võib tulemus olla ümardatud.
Funktsioonid floor()
ja ceil()
math
moodulis
annavad vähima ja suurima väärtuse.