Zaženimo interaktivni tolmač in izvedimo ta stavka:
>>> a = 10 // 2 >>> b = 10 / 2
Ker je število 10 deljivo s številom 2, bi moral biti rezultat obakrat enak 5, kajne?
>>> a 5 >>> b 5.0
Hm, zakaj python števila 5.0 ne zapiše enostavno kot 5? Mar ni to dvoje enako? Odgovor je: da in ne. Da, matematično sta števili enaki. Sta pa tudi različnih tipov. Število 5 je celoštevilskega tipa, število 5.0 pa realnoštevilskega. Python ločuje med celimi in realnimi števili. Realna števila vedno zapisuje z decimalno piko, tudi če je decimalni del enak 0.
Če v izrazu nastopa vsaj eno realno število ali pa realnoštevilsko deljenje, bo rezultat realno število, v nasprotnem pa celo:
>>> 3 + 5.0 + 7 15.0 >>> 3 + 10 // 2 8 >>> 3 + 10 / 2 8.0
Realno število je možno pretvoriti v celo in obratno. Prvo pretvorbo izvršimo z operatorjem int
, drugo pa z operatorjem float
.
>>> int(3.0) 3 >>> int(3.9) 3 >>> int(-3.9) -3 >>> float(-6) -6.0
Operator int
pretvori realno število v celo enostavno tako, da odreže decimalni del.
Preizkusi vse ukaze v interaktivnem tolmaču: