Arvutiteaduse instituut
Courses.cs.ut.ee Arvutiteaduse instituut Tartu Ülikool
  1. Kursused
  2. 2026/27 sügis
  3. Programmeerimine (LTAT.SO.001)
EN
Logi sisse

Programmeerimine 2026/27 sügis

  • Pealeht
  • 1. Sissejuhatus
  • 2. Tingimuslause
  • 3. Tsükkel
  • 4. Järjend, for-tsükkel, andmed failist
  • 5. Funktsioon
  • 6. Kordamine 1. kontrolltööks?
  • 7. Kontrolltöö?
  • 8. Andmevahetus. Lihtne kasutajaliides
  • 9. Kahemõõtmeline järjend. Kahekordne tsükkel
  • 10. Viitamine ja muteerimine
  • 11. Andmestruktuurid
  • 12. Rekursioon ja andmetöötlus
  • Projekti esitamine ja esitlused
  • 13. Objektorienteeritud programmeerimine
  • 14. Kordamine 2. kontrolltööks?
  • 15. Kontrolltöö 2?
  • Kordamine. Kokkuvõtlikud tabelid

Viited

  • Loengud
  • Moodle
  • Lahendus
  • Thonny paigaldamine
  • Thonny logide esitamine
  • Silumine
  • Kiireksamist
  • Viited

Kordamine. Kokkuvõtlikud tabelid

Sellel lehel on kokkuvõte kursusel kasutatud olulisematest Pythoni funktsioonidest, meetoditest ja muudest operatsioonidest. Materjali eesmärk on aidata meenutada, mida mingi funktsioon või meetod teeb, mida see tagastab ning kas see muudab olemasolevat objekti.

Oluline on eristada:

  • funktsiooni, näiteks len(järjend) või max(arvud);
  • meetodit, mida rakendatakse konkreetsele objektile, näiteks järjend.append(5) või tekst.lower();
  • atribuuti, mille järel sulge ei kirjutata, näiteks fail.closed;
  • Pythoni konstruktsioone ja võtmesõnu, näiteks if, for, while, def, return, in, break, with ja assert.

1. Pythoni põhifunktsioonid

FunktsioonMida teeb?NäideTulemus / oluline tähelepanek
print(...)Väljastab väärtused ekraanileprint("Tere", nimi)Võib väljastada mitu väärtust; end="" abil saab vältida reavahetust.
input(...)Küsib kasutajalt sisendinimi = input("Nimi: ")Tagastab alati sõne (str).
type(x)Leiab väärtuse tüübitype(4.5)float
int(x)Teisendab täisarvuksint("12")12
float(x)Teisendab ujukomaarvuksfloat("3.5")3.5
str(x)Teisendab sõneksstr(15)"15"
bool(x)Teisendab tõeväärtuseksbool(0)False
round(x)Ümardab arvuround(3.6)4
round(x, n)Ümardab n komakohaniround(3.14159, 2)3.14
len(x)Leiab elementide või märkide arvulen([4, 7, 2])3
min(x)Leiab vähima väärtusemin([8, 2, 5])2
max(x)Leiab suurima väärtusemax([8, 2, 5])8
sum(x)Liidab arvulised elemendidsum([2, 4, 5])11
sorted(x)Tagastab sorteeritud uue järjendisorted([4, 1, 3])[1, 3, 4]
range(...)Tekitab täisarvude vahemikurange(2, 6)Väärtused 2, 3, 4, 5
list(x)Teisendab väärtused järjendikslist(range(3))[0, 1, 2]
tuple(x)Teisendab väärtused ennikukstuple([3, 4])(3, 4)
set(x)Loob hulgaset([1, 1, 2])Korduvad väärtused eemaldatakse.
dict(x)Loob sõnastikudict([("A", 1), ("B", 2)])Loob võti-väärtus paaridest sõnastiku.
open(...)Avab failiopen("andmed.txt", encoding="UTF-8")Tagastab failiobjekti.
id(x)Tagastab objekti identiteediid(a)Kasulik viitamise uurimisel.
isinstance(x, tüüp)Kontrollib, kas objekt on etteantud tüüpiisinstance(x, list)True või False

Funktsioon range

Funktsiooni range saab kasutada mitmel kujul:

range(5)          # 0, 1, 2, 3, 4
range(2, 6)       # 2, 3, 4, 5
range(2, 10, 2)   # 2, 4, 6, 8
range(5, 0, -1)   # 5, 4, 3, 2, 1

Lõppväärtus ise vahemikku ei kuulu.

Näiteks range(2, 6) annab väärtused 2, 3, 4 ja 5, mitte 6.

Levinumad operaatorid

OperaatoridTähendus
+, -, *, /Liitmine, lahutamine, korrutamine ja jagamine
//, %, **Täisarvuline jagamine, jääk ja astendamine
==, !=, <, <=, >, >=Väärtuste võrdlemine; tulemuseks on True või False
and, or, notLoogilised tehted
in, not inKuuluvuse kontroll

2. Järjend (list) ja ennik (tuple)

Järjend on muteeritav andmestruktuur. See tähendab, et pärast järjendi loomist saab selle sisu muuta.

MeetodMida teeb?NäideKas järjend muutub?
append(x)Lisab ühe elemendi järjendi lõppua.append(5)Jah
insert(i, x)Lisab elemendi indeksile ia.insert(1, 5)Jah
count(x)Loendab väärtuse x esinemiseda.count(5)Ei
remove(x)Eemaldab esimese väärtuse xa.remove(5)Jah
pop()Eemaldab ja tagastab elemendix = a.pop()Jah
extend(x)Lisab teise järjendi elemendida.extend([4, 5])Jah
copy()Loob madala koopiab = a.copy()Ei
reverse()Pöörab elementide järjekorra ümbera.reverse()Jah
sort()Sorteerib järjendia.sort()Jah
clear()Eemaldab kõik elemendida.clear()Jah

append ja extend

a = [1, 2]

a.append([3, 4])
print(a)

Tulemus:

[1, 2, [3, 4]]

append lisab etteantud väärtuse ühe elemendina.

a = [1, 2]

a.extend([3, 4])
print(a)

Tulemus:

[1, 2, 3, 4]

extend lisab teise järjendi elemendid ükshaaval.

sort ja sorted

a = [3, 1, 2]
a.sort()

Meetod sort() muudab järjendit ennast.

Pärast käskude täitmist on a väärtus:

[1, 2, 3]

Seevastu:

a = [3, 1, 2]
b = sorted(a)

jätab järjendi a muutmata ja annab muutujale b uue sorteeritud järjendi.

Seega:

a == [3, 1, 2]
b == [1, 2, 3]

Järjendi tavalisemad operatsioonid

Lisaks meetoditele saab järjendit indekseerida (a[i]), viilutada (a[algus:lõpp:samm]), kontrollida elemendi kuulumist (x in a), ühendada teise järjendiga (a + b) ja muuta elementi (a[i] = väärtus).

Ennik (tuple)

Ennik sarnaneb järjendiga, kuid on mittemuteeritav: pärast loomist ei saa selle elemente lisada, eemaldada ega muuta. Ennikut saab indekseerida ja viilutada ning sellega töötavad näiteks len(), min(), max() ja in. Ühe elemendiga enniku puhul on koma vajalik: (1,).


3. Sõne (str) meetodid

Sõne on mittemuteeritav. Sõnemeetod ei muuda olemasolevat sõne, vaid tagastab tavaliselt uue sõne või muu väärtuse.

MeetodMida teeb?NäideTulemus
lower()Muudab tähed väiketähtedeks"Tere".lower()"tere"
upper()Muudab tähed suurtähtedeks"Tere".upper()"TERE"
strip()Eemaldab algusest ja lõpust tühikud, reavahetused jm" abc\\n".strip()"abc"
split()Jagab sõne tühikute kohalt osadeks"1 4 5".split()["1", "4", "5"]
split(eraldaja)Jagab sõne määratud eraldaja kohalt"A;B;C".split(";")["A", "B", "C"]
splitlines()Jagab sõne reavahetuste kohalt ridadeks"a\\nb".splitlines()["a", "b"]
count(x)Loendab alamstringi esinemised"tere".count("e")2
replace(a, b)Asendab a esinemised väärtusega b"Gerd".replace("d", "t")"Gert"
index(x)Leiab alamstringi algusindeksi"abcde".index("cd")2
rjust(n, märk)Joondab paremale ja täidab vasakult"7".rjust(2, "0")"07"

Sõnet saab ka indekseerida (s[i]), viilutada (s[algus:lõpp:samm]) ja kontrollida alamstringi kuulumist (x in s).

Näiteks:

nimi = "Gerd"
nimi.replace("d", "t")
print(nimi)

väljastab endiselt:

Gerd

Meetod replace ei muutnud olemasolevat sõne.

Kui soovime uue sõne alles hoida, tuleb tagastatud väärtus omistada:

nimi = nimi.replace("d", "t")

Nüüd on nimi väärtus "Gert".


4. Hulk (set)

Hulk sisaldab unikaalseid elemente. Sama väärtust ei saa hulgas olla mitu korda.

Hulga elementidel ei ole järjendi moodi indeksitega määratud järjekorda.

MeetodMida teeb?Näide
add(x)Lisab elemendi hulkah.add(5)
remove(x)Eemaldab elemendih.remove(5)
update(h2)Lisab teise hulga või muu itereeritava objekti elemendidh.update(h2)
pop()Eemaldab ja tagastab ühe elemendix = h.pop()
clear()Eemaldab kõik elemendidh.clear()
copy()Tagastab hulga koopiah2 = h.copy()

Hulkade tehted

TeheTähendus
a & bHulkade ühisosa
a | bHulkade ühend
a - bHulkade vahe
a ^ bHulkade sümmeetriline vahe
a < b / a <= bKontrollib, kas a on b range / mitterange alamhulk
a > b / a >= bKontrollib, kas a on b range / mitterange ülemhulk
x in aKontrollib, kas element x kuulub hulka

Tühja hulga loomiseks kasutatakse:

h = set()

Oluline:

h = {}

ei loo hulka, vaid tühja sõnastiku.


5. Sõnastik (dict)

Sõnastik koosneb võtme ja väärtuse paaridest. Võtmed on unikaalsed ja peavad olema mittemuteeritavat tüüpi; väärtused võivad olla mistahes tüüpi.

Näiteks:

vanused = {
    "Mari": 20,
    "Jüri": 22
}
KirjutisMida teeb?
d[võti]Tagastab võtmele vastava väärtuse.
d[võti] = väärtusLisab uue kirje või muudab olemasoleva võtme väärtust.
d.keys()Annab sõnastiku võtmed.
d.values()Annab sõnastiku väärtused.
d.items()Annab võti-väärtus paarid.
len(d)Annab kirjete arvu.
võti in d / võti not in dKontrollib võtme olemasolu sõnastikus.
del d[võti]Kustutab võtme koos sellele vastava väärtusega.

Sõnastiku otsene läbimine for-tsükliga annab võtmed:

for nimi in vanused:
    print(nimi, vanused[nimi])

Võtme ja väärtuse saab korraga kätte meetodiga items():

for nimi, vanus in vanused.items():
    print(nimi, vanus)

6. Failidega töötamine

Faili avamiseks kasutatakse funktsiooni open.

Näiteks:

fail = open("andmed.txt", encoding="UTF-8")
Funktsioon või meetodMida teeb?
open(...)Avab faili ja tagastab failiobjekti.
readline()Loeb ühe rea.
readlines()Loeb read järjendisse.
read()Loeb kogu ülejäänud faili sisu.
read(n)Loeb kuni n ühikut.
write(s)Kirjutab sõne faili.
close()Sulgeb faili.
fail.closedAtribuut, mille väärtus näitab, kas fail on suletud.

Faili lugemine

fail = open("andmed.txt", encoding="UTF-8")

for rida in fail:
    rida = rida.strip()
    print(rida)

fail.close()

Failist saadud rea lõpus on tavaliselt reavahetuse märk. Meetod strip() on seetõttu failide lugemisel sageli kasulik.

Faili kirjutamine

Faili avamisel kirjutamiseks kasutatakse näiteks:

fail = open("tulemus.txt", "w", encoding="UTF-8")
fail.write("Tere\n")
fail.close()

Faili avamisrežiimidest "r" tähendab lugemist (vaikimisi), "w" kirjutamist koos varasema sisu ülekirjutamisega ja "a" faili lõppu lisamist.

with konstruktsioon

Failidega töötamisel saab kasutada ka with konstruktsiooni:

with open("andmed.txt", encoding="UTF-8") as fail:
    for rida in fail:
        print(rida.strip())

Sellisel juhul suletakse fail ploki lõppedes automaatselt.


7. Viitamine ja kopeerimine

Kahe muutuja kasutamine ei tähenda alati kahe eraldi objekti olemasolu.

Näiteks:

a = [1, 2, 3]
b = a

Nüüd viitavad a ja b samale järjendiobjektile.

Seetõttu:

b.append(4)
print(a)

annab tulemuseks:

[1, 2, 3, 4]

Objektide identiteeti saab uurida funktsiooniga id:

print(id(a))
print(id(b))

Kui mõlemad muutujad viitavad samale objektile, on nende objektide identiteedid samad.

Madal koopia

Järjendist saab teha koopia:

b = a.copy()

või näiteks:

b = list(a)

Sellisel juhul on a ja b kaks eri järjendiobjekti.

Pesastatud andmestruktuuride puhul tuleb siiski arvestada, et copy() teeb madala koopia.

Sügav koopia

Pesastatud andmestruktuuride täielikuks kopeerimiseks võib kasutada deepcopy funktsiooni:

from copy import deepcopy

b = deepcopy(a)

deepcopy loob koopiad ka pesastatud objektidest.


8. Juhuarvud, matemaatika ja ajaline viivitus

Moodulis olevate funktsioonide kasutamiseks tuleb vastav moodul või funktsioon importida.

Juhuarvud – random

Näiteks:

from random import randint

arv = randint(1, 6)
FunktsioonMida teeb?
randint(a, b)Tagastab juhusliku täisarvu vahemikust a kuni b, kusjuures mõlemad piirid kuuluvad võimalike tulemuste hulka.

Seega:

randint(1, 6)

võib tagastada nii 1 kui ka 6.

See erineb funktsioonist range:

range(1, 6)

mille väärtuste hulka 6 ei kuulu.

Ajaline viivitus – time

from time import sleep

sleep(1)

sleep(1) peatab programmi töö ligikaudu üheks sekundiks.

Matemaatilised funktsioonid – math

from math import sqrt, cos
FunktsioonMida teeb?
sqrt(x)Arvutab arvu ruutjuure.
cos(x)Arvutab koosinuse.

Näiteks:

sqrt(25)

annab väärtuse:

5.0

9. Kilpkonnagraafika

Kilpkonnagraafikas kasutatakse funktsioone liikumiseks ja joonistamiseks.

FunktsioonMida teeb?
forward(x) / fd(x)Liigub x ühikut edasi.
back(x) / backward(x) / bk(x)Liigub x ühikut tagasi.
left(kraadid) / lt(kraadid)Pöörab vasakule.
right(kraadid) / rt(kraadid)Pöörab paremale.
circle(r) / circle(r, kraadid)Joonistab ringi või kaare.
color(...)Määrab värvi.
pencolor(...)Määrab joone värvi.
fillcolor(...)Määrab täitevärvi.
begin_fill()Alustab täidetava kujundi joonistamist.
end_fill()Lõpetab kujundi täitmise.
up()Tõstab pliiatsi üles.
down()Paneb pliiatsi maha.
bgcolor(...)Määrab taustavärvi.
exitonclick()Hoiab akna avatuna kuni sellel klõpsatakse.

Näiteks:

from turtle import *

forward(100)
left(90)
forward(100)

exitonclick()

10. EasyGUI

EasyGUI abil saab luua lihtsaid graafilisi dialoogiaknaid.

FunktsioonMida teeb?
msgbox(...)Kuvab teate.
buttonbox(...)Kuvab valikunupud.
choicebox(...)Võimaldab valida väärtuse loendist.
enterbox(...)Küsib tekstisisendit.
integerbox(...)Küsib täisarvu.
fileopenbox()Avab faili valimise dialoogi.
filesavebox()Avab faili salvestamise dialoogi.

Näiteks:

from easygui import *

nimi = enterbox("Sisesta oma nimi")
msgbox("Tere, " + nimi)

11. Veebist andmete lugemine ja JSON

Veebist andmete saamiseks saab kasutada urllib.request moodulit.

Näiteks:

from urllib.request import urlopen

vastus = urlopen(url)
Funktsioon või meetodMida teeb?
urlopen(url)Avab veebiaadressi ja tagastab vastuseobjekti.
read()Loeb vastuse baidid.
decode("utf8")Teisendab baidid sõneks.
close()Sulgeb ühenduse.
json.loads(s)Teisendab JSON-kujul oleva sõne Pythoni andmestruktuuriks.
webbrowser.open(url)Avab veebilehe brauseris.

Tüüpiline tegevuste jada:

from urllib.request import urlopen
import json

vastus = urlopen(url)
sisu = vastus.read().decode("utf8")
andmed = json.loads(sisu)

Oluline on tähele panna, kuidas andmetüüp etappide jooksul muutub:

veebivastus -> baidid -> sõne -> Pythoni andmestruktuur

12. Testimine

Programmi töö kontrollimiseks saab kasutada assert lauset.

Näiteks:

assert paaris_liitmine(0) == 1

Kui tingimus on tõene, jätkub programmi töö.

Kui tingimus on väär, tekib AssertionError.

assert ei ole funktsioon, vaid Pythoni lause.

unittest

unittest moodulis kasutatakse näiteks järgmisi meetodeid ja funktsioone:

Meetod või funktsioonMida teeb?
self.assertEqual(a, b)Kontrollib, kas a == b.
unittest.main()Käivitab testid.

Testimise näide

Oletame, et meil on funktsioon, mis tagastab etteantud arvu ruudu:

def ruut(arv):
    return arv ** 2

Funktsiooni tööd saab kontrollida assert lausete abil:

assert ruut(2) == 4
assert ruut(-3) == 9
assert ruut(0) == 0

Kui kõik tingimused on tõesed, jätkub programmi töö ilma veateateta. Kui mõni oodatud tulemus ei vasta tegelikule tulemusele, tekib AssertionError.

Sama funktsiooni saab testida ka unittest mooduli abil:

import unittest


def ruut(arv):
    return arv ** 2


class TestRuut(unittest.TestCase):

    def test_positiivne_arv(self):
        self.assertEqual(ruut(2), 4)

    def test_negatiivne_arv(self):
        self.assertEqual(ruut(-3), 9)

    def test_null(self):
        self.assertEqual(ruut(0), 0)


unittest.main()

Iga test kontrollib ühte konkreetset juhtu. Meetod assertEqual(a, b) kontrollib, kas tegelik tulemus a võrdub oodatud tulemusega b.


13. Pandas: Series ja DataFrame

Andmetabelitega töötamisel kasutatakse Pandase teeki.

import pandas as pd

Andmete loomine ja lugemine

FunktsioonMida teeb?
pd.Series(...)Loob Pandase seeria.
pd.DataFrame(...)Loob andmefreimi.
pd.read_csv(...)Loeb CSV-faili andmefreimiks.

Meetodid

MeetodMida teeb?
sort_values(...)Sorteerib väärtuste järgi.
sort_index()Sorteerib indeksite järgi.
sum()Arvutab summa.
append(...)Ühendab kursuse näites seeria andmed teise seeriaga.
join(...)Ühendab andmefreime.
head(n)Tagastab esimesed n rida.
tail(n)Tagastab viimased n rida.
set_index(...)Määrab veeru indeksiks.
pop(...)Eemaldab ja tagastab veeru.
drop(...)Tagastab tabeli, kust määratud read või veerud on eemaldatud.
rename(...)Muudab nimesid või silte.
mean()Arvutab keskmise.
plot(...)Koostab graafiku.
plot.bar()Koostab tulpdiagrammi.

Näiteks pop muudab olemasolevat tabelit:

eemaldatud = andmed.pop("Uus veerg")

Seevastu drop puhul kasutatakse sageli tagastatud uut tabelit:

andmed = andmed.drop(["Uus veerg"], axis=1)

Atribuudid ja indekseerijad

Järgmiste järel sulge ei kasutata.

KirjutisTähendus
s.sizeElementide arv
df.shapeTabeli mõõtmed
df.columnsVeergude nimed
df.indexIndeks
df.TTransponeeritud tabel
df.loc[...]Ridade ja veergude valimine siltide järgi

Oluline on eristada meetodit ja atribuuti:

df.head()       # meetod – sulud on vajalikud
df.shape        # atribuut – sulge ei ole

14. Matplotlib

Graafikute vormistamisel kasutatakse näiteks moodulit matplotlib.pyplot:

import matplotlib.pyplot as plt
FunktsioonMida teeb?
plt.title(...)Määrab graafiku pealkirja.
plt.xlabel(...)Määrab x-telje nimetuse.
plt.ylabel(...)Määrab y-telje nimetuse.
plt.show()Kuvab graafiku.

15. Klassid ja meetodid

Klassi sees defineeritud funktsiooni nimetatakse meetodiks.

Näiteks:

class Inimene:
    def __init__(self, nimi):
        self.nimi = nimi

    def tervita(self):
        print("Tere, olen", self.nimi)

Objekti ehk klassi isendi loomine:

mari = Inimene("Mari")

Meetodi kasutamine:

mari.tervita()
Meetod või konstruktsioonTähendus
__init__(self, ...)Käivitatakse objekti loomisel ja kasutatakse isendi algväärtustamiseks.
__str__(self)Määrab objekti sõnelise esituse.
obj.meetod()Kutsub meetodi konkreetse isendi jaoks.
Klass(...)Loob klassi isendi.

self viitab konkreetsele isendile, mille meetodit parajasti kasutatakse.


Olulised erinevused, mida tasub meeles pidada

Järgnevas tabelis on koos konstruktsioonid, mis võivad esmapilgul sarnased tunduda, kuid käituvad erinevalt.

VõrdlusErinevus
input() ja int(input())input() tagastab sõne, int(input()) teisendab sisendi täisarvuks.
int(1.9) ja round(1.9)Esimene annab 1, teine 2. int ei ümarda, vaid eemaldab murdosa.
round(x, 2) ja f"{x:.2f}"round tagastab arvulise väärtuse, f-sõne vormindamine tagastab sõne.
range(1, 5) ja randint(1, 5)range ei kaasa väärtust 5, randint võib tagastada ka 5.
append ja extendappend lisab ühe elemendi, extend lisab etteantud objekti elemendid ükshaaval.
sort() ja sorted()sort() muudab järjendit, sorted() jätab algse objekti muutmata ja tagastab uue järjendi.
reverse() ja a[::-1]reverse() muudab järjendit, viilutus loob uue järjendi.
copy() ja deepcopy()Esimene teeb madala, teine sügava koopia.
replace() sõne puhulOlemasolevat sõne ei muudeta, vaid tagastatakse uus sõne.
list ja tupleJärjend on muteeritav, ennik mittemuteeritav.
set() ja {}set() loob tühja hulga, {} tühja sõnastiku.
remove() ja pop()remove eemaldab etteantud väärtuse; pop eemaldab ja tagastab elemendi.
readline() ja read()readline() loeb ühe rea, read() ülejäänud faili sisu.
read() ja readlines()read() tagastab sõne, readlines() ridade järjendi.
len(a) ja a.append(x)len on funktsioon, append konkreetse järjendi meetod.
return ja printreturn tagastab väärtuse funktsiooni väljakutsujale, print kuvab väärtuse ekraanile.
NoneTähendab väärtuse puudumist. Paljud objekti muutvad meetodid tagastavad None.

Funktsioon, meetod või atribuut?

Koodi lugemisel aitab süntaks sageli aru saada, millega on tegemist.

NäideMis see on?
len(a)Funktsioon
sorted(a)Funktsioon
a.append(5)Meetod
tekst.lower()Meetod
fail.read()Meetod
fail.closedAtribuut
obj.nimiAtribuut
returnVõtmesõna
assertPythoni lause

Kas objekt muutub?

Koodi töö käigust arusaamiseks on väga oluline teada, kas operatsioon muudab olemasolevat objekti või tagastab uue väärtuse.

OperatsioonKas objekt muutub?Mida tagastab?
a.append(x)JahNone
a.insert(i, x)JahNone
a.remove(x)JahNone
a.pop()JahEemaldatud elemendi
a.sort()JahNone
a.reverse()JahNone
sorted(a)EiUue sorteeritud järjendi
a.copy()EiUue järjendi
s.lower()EiUue sõne
s.upper()EiUue sõne
s.strip()EiUue sõne
s.replace(a, b)EiUue sõne
s.split()EiJärjendi
len(a)EiTäisarvu
sum(a)EiArvulise väärtuse

Näide: sort ja sorted

Vaata järgnevat programmi:

a = [3, 1, 2]
b = a.sort()

Pärast nende ridade täitmist on:

a == [1, 2, 3]
b is None

Meetod sort() muutis järjendit a, kuid ei tagastanud sorteeritud järjendit.

Seevastu:

a = [3, 1, 2]
b = sorted(a)

annab:

a == [3, 1, 2]
b == [1, 2, 3]

Funktsioon sorted() ei muutnud algset järjendit ning tagastas uue sorteeritud järjendi.


Näide: return ja print

Vaatame kahte funktsiooni.

def ruut1(arv):
    print(arv ** 2)


def ruut2(arv):
    return arv ** 2

Esimene funktsioon kuvab tulemuse:

ruut1(5)

ekraanile ilmub:

25

kuid funktsioon ise ei tagasta arvulist tulemust.

Teine funktsioon tagastab väärtuse:

tulemus = ruut2(5)
print(tulemus)

Muutuja tulemus väärtuseks saab 25.

Funktsiooni tagastatud väärtust saab seega kasutada edasistes arvutustes:

vastus = ruut2(5) + ruut2(3)

Näide: sisend ja andmetüüp

Funktsioon input() tagastab alati sõne.

vanus = input("Sisesta vanus: ")
print(type(vanus))

Kui kasutaja sisestab 20, on vanus siiski sõne "20".

Arvutamiseks tuleb väärtus vajadusel teisendada:

vanus = int(input("Sisesta vanus: "))
print(vanus + 1)

Näide: sõned on mittemuteeritavad

tekst = "Tere"
tekst.upper()
print(tekst)

Tulemus on endiselt:

Tere

Kui soovime suurtähtedega variandi salvestada:

tekst = tekst.upper()

Nüüd on tekst väärtus:

TERE

Näide: järjendid on muteeritavad

arvud = [1, 2, 3]
arvud.append(4)
print(arvud)

Tulemus:

[1, 2, 3, 4]

Meetod append muutis olemasolevat järjendit.


  • Arvutiteaduse instituut
  • Loodus- ja täppisteaduste valdkond
  • Tartu Ülikool
Tehniliste probleemide või küsimuste korral kirjuta:

Kursuse sisu ja korralduslike küsimustega pöörduge kursuse korraldajate poole.
Õppematerjalide varalised autoriõigused kuuluvad Tartu Ülikoolile. Õppematerjalide kasutamine on lubatud autoriõiguse seaduses ettenähtud teose vaba kasutamise eesmärkidel ja tingimustel. Õppematerjalide kasutamisel on kasutaja kohustatud viitama õppematerjalide autorile.
Õppematerjalide kasutamine muudel eesmärkidel on lubatud ainult Tartu Ülikooli eelneval kirjalikul nõusolekul.
Courses’i keskkonna kasutustingimused