Python 3/Operaattorit
Sijoitus
muokkaaOperaattori | Kuvaus |
---|---|
= | sijoitus |
:= | sijoitus lausekkeen sisällä (versiosta 3.8) |
Sijoitusoperaattorilla asetetaan muuttujan arvo.
>>> x = 3
>>> y = "marsu"
Jos sijoitusoperaattorin toisella tai mollemilla puolilla on pilkku, tulkitaan se monikoksi (tuple). Jos oikealla puolella on pilkku, mutta vasemmalla ei, sijoitetaan monikko vasemman puoleiseen muuttujaan kokonaisena.
>>> z = 3, 5
>>> z
(3, 5)
Jos molemmilla puolilla on pilkku tai pilkkuja, sijoitetaan pilkulla erotetut arvot niitä vastaaviin muuttujiin. Muuttujia ja arvoja pitää silloin olla yhtä monta.
>>> x, y = 3, 5
>>> x
3
>>> y
5
Muuttujien sisällön voi siten vaihtaa keskenään näin.
>>> x, y = y, x
>>> x
5
>>> y
3
Myös listoja voi hajottaa muuttujiksi vastaavalla tavalla.
>>> eka, toka = [1, 2]
>>> eka
1
>>> toka
2
Operaattori := on myös sijoitusoperaattori, mutta sitä voi käyttää eräissä paikoissa, joissa = ei ole sallittu, kuten ehtolauseiden ja silmukoiden ehto-osassa.
teksti = "Koodi #FE038A"
if m := re.search("#[0-9A-F]+", teksti):
print("Löyty väri", m.group(0))
luvut = []
while syote := input("Anna luku: ") != "":
luvut.append(int(syote))
Matematiikka
muokkaaOperaattori | Kuvaus |
---|---|
+ | summaus |
- | vähennys |
* | tulo |
** | potenssi |
/ | jako |
// | tasajako eli osamäärä |
% | jakojäännös (modulo) |
>>> 1 + 2
3
>>> 1 + 2 * 3 / 4 ** 2
1.375
Operaattorien suoritusjärjestys vastaa tavallista laskujärjestystä (ks. alla). Tarvittaessa sitä voi muuttaa suluilla.
>>> ((1 + 2) * (3 / 4)) ** 2
5.0625
Operaattori / laskee jakolaskun liukulukuna. Toisin kuin Python 2:ssa ei jakolaskun operandeja tarvitse muuttaa liukuluvuiksi.
>>> 6 / 2
3.0
>>> 7 / 2
3.5
Operaattori // kertoo kuinka monta kertaa jälkimäinen luku mahtuu ensimmäiseen. Se ja jakojäännösoperaattori % muodostavat siis parin.
>>> 7 // 2
3
>>> 7 % 2
1
>>> 3 * 2 + 1
7
Vertailu
muokkaaOperaattori | Kuvaus |
---|---|
== | yhtäläisyys |
> | suurempi kuin |
< | pienempi kuin |
>= | suurempi tai yhtä suuri kuin |
<= | pienempi tai yhtä suuri kuin |
!= | erisuuruus |
Logiikka
muokkaaOperaattori | Kuvaus |
---|---|
and | Looginen ja |
or | Looginen tai |
not | negaatio |
>>> x = True
>>> y = True
>>> x and y
True
>>> z = False
>>> x and z
False
>>> x or z
True
>>> x and not z
True
Bittioperaatiot
muokkaaOperaattori | Kuvaus |
---|---|
<< | siirto vasemmalle |
>> | siirto oikealle |
& | AND |
| | OR |
^ | XOR |
~ | negaatio |
Muuttamisoperaatiot
muokkaaUseimmista operaattoreista on olemassa versio, joka tallentaa operaation tuloksen ensimmäiseen operandiin.
Pitkä muoto | Lyhyt muoto | Kuvaus |
---|---|---|
x = x + 2 | x += 2 | Korottaa muuttujan arvoa kahdella |
x = x - 2 | x -= 2 | Pienentää muuttujan arvoa kahdella |
x = x * 2 | x *= 2 | Kertoo muuttujan arvon kahdella |
x = x / 2 | x /= 2 | Jakaa muuttujan arvon kahdella |
x = x // 2 | x //= 2 | |
x = x % 2 | x %= 2 | Laskee muuttujan ja luvun 2 jakojäännöksen |
x = x ** 2 | x **= 2 | |
x = x & 2 | x &= 2 | |
x = x | 2 | x |= 2 | |
x = x ^ 2 | x ^= 2 | |
x = x << 2 | x <<= 2 | |
x = x >> 2 | x >>= 2 |
Operaattorien suoritusjärjestys
muokkaaOperaattori | Kuvaus |
---|---|
"a" | merkkijono |
{a:b} | dictionary |
[a] | lista |
(a) | monikko |
f() | funktiokutsu |
x[a:b] | viipalointi (slicing) |
x[a] | jäsenyyden hakeminen |
x.a | attribuuttiviittaus |
x** | potenssi |
~x | bittien negaatio |
+x, -a | positiivisuus, negatiivisuus |
*, /, % | kertominen, jakaminen, jakojäännös (modulo) |
+, - | summaus, vähennys |
<<, >> | bittien siirrot |
& | bittien AND |
^ | bittien XOR |
| | bittien OR |
<, <=, >, >=, !=, <>, == | vertailut |
is, is not | |
in, not in | |
not | negaatio |
and | AND |
or | OR |
lambda | lambda-funktio |
Aiheesta muualla
muokkaa- Python-kielisen_ohjelmoinnin_perusteet (Wikiopiston opintopiirin opiskeluohjeita)
Johdanto: | |
---|---|
Tietotyypit ja tietorakenteet: |
Luvut - Merkkijonot - Lista - Monikko (tuple) - Sanakirja - Joukko (set) |
Ohjausrakenteet | |
Muut kielen rakenteet: |
Moduuli - Luokka - Funktio - Virheidenhallinta - Tiedosto |
Graafinen käyttöliittymä: | |
Harjoitustehtäviä: | |
Lisätiedot ja lähteet: |