...
Pythonin
...
numeerisiin
...
muuttujiin
...
kuuluu
...
kokonais-,
...
liuku
...
-
...
ja
...
kompleksiluvut.
...
Kaikille
...
numeerisille
...
muuttujille
...
voidaan
...
tehdä
...
matemaattisia
...
laskutoimituksia,
...
loogisia
...
operaatioita
...
ja
...
vertailuja,
...
mutta
...
vain
...
kokonaisluvuille
...
voidaan
...
tehdä
...
ns.
...
bittioperaatioita.
...
Lisäksi
...
on
...
standardikirjaston
...
matematiikka
...
moduulit,
...
jotka
...
sisältävät
...
monimutkaisempia
...
funktioita.
...
Yksinkertaisimmillaan kokonaisluku literaali kirjoitetaan luettelemalla numeerinen arvo luvuilla 0;sta
...
9;ään
...
ja
...
alussa
...
voi
...
olla
...
negatiivisuutta
...
ilmaiseva
...
miinus
...
merkki
...
-.
...
Tällöin
...
arvo
...
käsitellään
...
desimaali
...
eli
...
kymmenluku
...
järjestelmän
...
mukaan.
...
Ilmaus
...
ei
...
vain
...
saa
...
alkaa
...
nollalla
...
paitsi
...
arvon
...
nolla
...
tapauksessa.
...
Tässä
...
taas
...
esimerkkejä
...
interaktiivisessa
...
ohjelmointi
...
tilassa.
Code Block |
---|
} >>> 102 102 >>> 56 56 >>> 0 0 >>> 0123 #virhe SyntaxError: invalid token >>> {code} |
Kymmenluku
...
järjestelmän
...
lisäksi
...
kokonaisluvun
...
voi
...
ilmaista
...
eri
...
lukujärjestelmillä
...
käyttäen
...
niille
...
varattuja
...
etuliitteitä.
...
0b
...
binääriluvuille
...
(0
...
ja
...
1),
...
0o
...
oktaaliluvuille
...
(numerot
...
0
...
-
...
7)
...
sekä
...
0x
...
heksadesimaaliluvuille
...
(numerot
...
0
...
-
...
9
...
ja
...
kirjaimet
...
a
...
-
...
f).
...
Kirjainten
...
koolla
...
ei
...
ole
...
merkitystä
...
näissä
...
ilmauksissa.
...
Interaktiivisessa
...
ohjelmointi
...
tilassa
...
kokonaisluvut
...
tulostetaan
...
aina
...
desimaali
...
arvona.
Code Block |
---|
} >>> 0b1011 11 >>> 0o72 58 >>> 0x4f 79 >>> 0X4f 79 >>> 0x4F 79 >>> {code} |
Kokonaisluvut
...
eivät
...
voi
...
sisältää
...
ykköstä
...
pienempiä
...
osia,
...
mutta
...
toisin
...
kuin
...
useimmissa
...
alemmantason
...
ohjelmointikielissä,
...
kokonaisluvun
...
koolla
...
ei
...
ole
...
ylärajaa.
...
Usein
...
kokonaislukuvulle
...
varataan
...
rajallinen
...
määrä
...
muistia
...
arvon
...
säilyttämiseen
...
(esim
...
32
...
bittiä),
...
mutta
...
Pythonissa
...
tietyn
...
rajan
...
ylittyessä
...
kokonaisluku
...
muutetaan
...
ns.
...
isoksi
...
kokonaisluvuksi
...
(big
...
int),
...
jolle
...
varataan
...
aina
...
tarpeen
...
vaatiessa
...
muistia
...
arvon
...
kasvaessa.
...
Sivuvaikutus
...
toisin
...
on,
...
että
...
muistia
...
kuluu
...
enemmän
...
ja
...
laskutoimitukset
...
ovat
...
hieman
...
hitaampia.
Ohjelmoijan ei periaatteessa tarvitse välittää miten tämä käytännössä toimii, koska Python hoitaa kaiken automaattisesti. Pythonin aiemmassa versiossa tosin täytyi käyttää isoa L kirjainta erotuksena rajallisen kokoisesta kokonaisluvusta, mutta uudemmissa Pythoneissa tämä aiheuttaisi virheen.
Liukuluvut toimivat käytännössä reaalilukuina, mutta niiden arvossa on vain rajallinen määrä desimaaleja, minkä takia niissä voi ilmetä kokonaislukuihin verrattuna epätarkkuutta suurilla arvoilla. Liukuluku ilmaus kirjoitetaan kymmenjärjestelmän luvuilla, mutta siinä voi lisäksi olla desimaalipisteellä (huom. ei pilkku) erotettuna desimaalit sekä e kirjaimella erotettu kertaa kymmenpotenssikerroin. Ilman desimaalipistettä ja kymmenpotenssi merkintää lukukäsiteltäisiin tosin kokonaislukuna joten loppuun voi tarvittaessa lisätä .0 erotukseksi kokonaisluvuista.
Code Block |
---|
Ohjelmoijan ei periaatteessa tarvitse välittää miten tämä käytännössä toimii, koska Python hoitaa kaiken automaattisesti. Pythonin aiemmassa versiossa tosin täytyi käyttää isoa L kirjainta erotuksena rajallisen kokoisesta kokonaisluvusta, mutta uudemmissa Pythoneissa tämä aiheuttaisi virheen. Liukuluvut toimivat käytännössä reaalilukuina, mutta niiden arvossa on vain rajallinen määrä desimaaleja, minkä takia niissä voi ilmetä kokonaislukuihin verrattuna epätarkkuutta suurilla arvoilla. Liukuluku ilmaus kirjoitetaan kymmenjärjestelmän luvuilla, mutta siinä voi lisäksi olla desimaalipisteellä (huom. ei pilkku) erotettuna desimaalit sekä e kirjaimella erotettu kertaa kymmenpotenssikerroin. Ilman desimaalipistettä ja kymmenpotenssi merkintää lukukäsiteltäisiin tosin kokonaislukuna joten loppuun voi tarvittaessa lisätä .0 erotukseksi kokonaisluvuista. {code} >>> 10.0 10.0 >>> 23.9 23.9 >>> .9 0.9 >>> 12e3 12000.0 >>> 34.7E23 3.47e+24 >>> {code} |
Kompleksiluvut
...
koostuvat
...
kahdesta
...
numeroarvosta,
...
joista
...
toinen
...
on
...
reaali
...
-
...
ja
...
toinen
...
imaginääriosa.
...
Osat
...
voidaan
...
ilmaista
...
sekä
...
kokonais
...
-
...
että
...
liukulukuna,
...
mutta
...
imaginääriosaa
...
merkitsemään
...
tarvitaan
...
lisäksi
...
j,
...
jota
...
ei
...
voida
...
kirjoittaa
...
yksinään,
...
vaan
...
numero
...
arvo
...
tarvitaan
...
ennen
...
j;tä
...
erotukseksi
...
tunnisteista.
...
Osat
...
erotetaan
...
toisistaan
...
plusmerkillä
...
+
...
(tai
...
miinusmerkillä
...
jälkimmäisen
...
osan
...
ollessa
...
negatiivinen.
...
Osien
...
järjestyksellä
...
ei
...
ole
...
väliä.
Code Block |
---|
} >>> 10.0j 10j >>> -1+1j (-1+1j) >>> 1j - 1 (-1+1j) >>> 23.01j 23.01j >>> -4 +0j (-4+0j) >>> {code} |
Kuten
...
merkkijonoja
...
numeerisia
...
arvoja
...
voidaan
...
sijoittaa
...
muuttujiin
...
yhtäsuuruus
...
merkillä
...
=.