Põhimõistete sõnastik

Siit sõnastikust leiad olulisemate mõistete selgitused koos põhimõiste inglisekeelse tõlkega.

Abstraktsioon

Abstraktsioon (ingl abstraction) on keerulise reaalse probleemi lihtsustamine modelleerides probleemile vastavaid klasse ning probleemile vastaval pärimisastmel.

Algoritm

Algoritm (ingl algorithm) on sammsammuline tegevusjuhis, juhend, eeskiri mingi tegevuse sooritamiseks või eesmärgi saavutamiseks.

Mittematemaatiliste algoritmidega puutume kokku iga päev, näiteks kokaraamatus olevad retseptid. Algoritmid on ka koolis õpetatavad mitmekohaliste arvude kirjaliku liitmise, lahutamise, korrutamise ja jagamise eeskirjad.

Algoritmi esitust mingis formaalses keeles, tavaliselt programmeerimiskeeles või masinakoodis, nimetatakse arvutiprogrammiks.

Andmestruktuur

Andmestruktuur (ingl data structure) on informaatikas andmete talletamise ja organiseerimise viis.

Andmetüüp

Erinevatel andmetel on erinevad andmetüübid (ingl data types). Pythonis on kasutusel järgnevad andmetüübid: täisarv (ingl integer), ujukomaarv (ingl floating point number, float), sõne (ingl string), järjend (ingl list), hulk (ingl set), ennik (ingl tuple), sõnastik (ingl dict), fail (ingl file).

Anonüümne funktsioon

Anonüümne funktsioon (lambda) on funktsioon, millel on alati mingi tagastatav väärtus ja puudub nimi. Selle võtmesõnaks on lambda.

Mõnedel juhtudel teeb lambda funktsioonide kasutamine koodi kirjutamise lihtsamaks ja kiiremaks. Tavaliselt kasutatakse seda koos sisseehitatud meetoditega map(), filter() ja reduce(). Neid nimetatakse funktsionaalse programmeerimise elementideks.

Argumendi vaikeväärtus

Argumendi vaikeväärtus (ingl default argument) on funktsiooni argumendi väärtus juhul, kui funktsiooni väljakutses argumendile väärtust ei anta.

Argument

Argument (funktsiooni argument, parameeter) on funktsioonile etteantav väärtus. Argument lisatakse funktsiooni väljakutsel funktsiooni nimele järgnevate sulgude sisse. Argumente võib olla rohkem kui üks.

Bitt

Bitt (ingl bit) on väikseim digitaalne ühik, mis omandab üht kahest võimalikust väärtusest (0 või 1). Bittide abil esitatakse mistahes arve kahendsüsteemis.

Docstring

Docstring on atribuut, mis lisatakse iga mooduli, funktsiooni, klassi ning meetodi külge ning mis seletab selle konkreetse elemendi sisu. Docstring defineeritakse kolme jutumärgipaari abil ning neid on ühe- ning mitmerealisi.

Üherealine docstring seletab lühidalt elemendi (nt funktsiooni) sisu.

Dokumenteerimine

Korrektne dokumenteerimine (ingl documentation) garanteerib koodilugejale koodiplokkide, funktsioonide ja muu sisu lihtsa mõistmise. Programmeerimise vallas toimub tihti projektide üleandmist või lahti seletamist teistele isikutele, kes koodist võimalikult kiiresti aru saama peavad.

Pythonis kasutatakse selleks kommentaare ning docstringe.

Ennik

Ennik (ingl tuple), vahel ka nimetusega korteež, rida või järjend, on andmetüüp, mis on jada Pythoni objekte. Ennik on väga sarnane järjendile (ingl list), kuid erinevalt järjendist on ta muutumatu (ingl immutable).

Erind

Erind (ingl exception) on mingi eriolukord (mitte tingimata viga), mis programmi töö jooksul ilmneb. Üldjuhul programmi töö seiskub erindi tõttu. Selleks, et programmi töö ootamatult ei lõppeks, tuleb erindeid töödelda, ehk programmile öelda, mida erindi puhul ette võtta.

For-tsükkel

For-tsükkel (ingl for loop) on konstruktsioon korduvate tegevuste realiseerimiseks, kus korduste arv oleneb etteantud järjendi (või muu andmestruktuuri) elementide arvust. Teistes programmeerimiskeeltes nimetatakse seda ka for-each tsükliks.

Funktsioon

Programmi koodi lühendamiseks ja struktuuri parandamiseks kasutatakse funktsioone (ingl function) ehk alamprogramme. Funktsioon on koodiridade plokk, millel on oma nimi. Funktsioone iseloomustab võtmesõna def.

Programmeerimises on funktsioonide kasutamine samuti väga oluline, kuna nad võimaldavad: - Struktureerida programmi nii, et see oleks lugejale arusaadavam. - Olemasolevat koodi taaskasutada ja kohandada sõltuvalt kontekstist. - Vähendada programmi arenduse ning hoolduse maksumust, kuna programm on selgem ja kvaliteetsem.

Git

Git on versioonihaldustarkvara, mis võimaldab koodis tehtud muudatusi säilitada ning neile ligi pääseda erinevatest arvutitest. Selleks tuleb luua enda projekti kausta git'i repositoorium ehk salv. Salv sisaldab lisaks projekti failidele ka .git kausta, mis hoiab versioonihalduseks vajalikku infot.

Globaalne muutuja

Globaalne muutuja (ingl global variable) on muutuja, mis on defineeritud põhiprogrammis. Selle väärtusele saab ligi nii funktsioonide sees kui ka väljaspool funktsiooni. Kui funktsioonis on samanimeline lokaalne muutuja, siis sama nimega globaalset muutujat funktsioonis kasutada ei saa.

Graafiline kasutajaliides

Graafiline kasutajaliides (ingl graphical user interface, GUI) on tarkvaraliides, mis kasutab visuaalseid elemente (nt ikoonid, kursor, menüüd, aknad, nupud) selleks, et teha kasutaja ja programmi vaheline suhtlus lihtsamaks. Graafiline kasutajaliides on asendanud keerulise tekstilise kasutajaliidese kergemini õpitava, lihtsa ja kasutaja jaoks meeldivama kasutajaliidesega.

Hello World

"Hello world" programm on arvutiprogramm, mis ei tee mitte midagi muud kui väljastab ekraanile teksti "Hello, World!" (inglise keeles "Tere, maailm!"). Selliseid programme kasutatakse sagedasti programmeerimisõpikutes, erinevate keelte võrdlemisel ning kompilaatorite testimisel.

Hulk

Hulk (ingl set) andmetüüp on sarnane järjendile - iga hulgatüüpi väärtus võib sisaldada 0 või rohkem elementi. Esimene oluline erinevus on see, et hulga elementide omavaheline järjestus ei ole määratud, seetõttu ei saa hulga elemente ka indekseerida. Teine erinevus on see, et hulk ei sisalda kunagi korduvaid elementi.

IDLE

IDLE (Integrated Development and Learning Environment) on Pythoniga kaasasolev spetsiaalne koodiredaktor. See on täielikult programmeeritud Pythonis, kasutades Tkinteri moodulit.

If-lause

If-lause (tingimuslause või valikulause, ingl if statement) on konstruktsioon valikute (hargnemiste) realiseerimiseks programmis, kasutatakse võtmesõna if. Hargnemine toimub vastavalt konstruktsioonis esitatud tingimusele.

Järjend

Järjend ehk list on üks Pythoni tätsamaid andmestruktuure, kus elemendid moodustavad kindla järjestuse. Listi loomine käib nagu tavalise muutuja loomine, kuid listi elemendid asuvad kandilistes sulgudes ning on eraldatud komadega. Samuti ei pea järjendi elemendid olema sama tüüpi.

Näiteks: list_of_subjects = ['physics', 'chemistry', 'math', 'english']

Igale elemendile järjendis vastab kindel number. Esimese elemendi positsiooniks, ehk indeksiks, on 0, teise elemendi omaks on 1, kolmanda 2 jne.

Kahemõõtmeline järjend

Kahemõõtmeline järjend (ingl two-dimensional array) on järjend, mille elementideks on omakorda järjendid. Sageli nimetatakse neid ka maatriksiteks - seda juhul kui tegemist on kahemõõtmelise järjendiga, mille kõikides ridades on samapalju elemente. Näiteks:

numbers = [[1, 2, 3],

[4, 5, 6], [7, 8, 9]]

Kui soovime antud järjendist saada kätte arvu 6, siis leiame, et ta asub välimises järjendis indeksiga 1 (teine element) ning sisemises järjendis element indeksiga 2 (kolmas element): print(numbers[1][2])

Kahendsüsteem

Kahendsüsteem (ingl b*inary number*) ehk binaarsüsteem (ingl binary numeral system) on positsiooniline arvusüsteem, mille alus on 2. Kahendloogikas öeldakse numbrimärgi 1 kohta "tõene" ja numbrimärgi 0 kohta "väär". Kahendsüsteem on ainus, lihtsaim positsiooniline arvusüsteem kõigist võimalikest.

Kahendsüsteemis toimub arvude loendamine järgmiselt: 0, 1, 10, 11, 100, 101, 110, 111, 1000, 1001 jne. Mitmekohalist arvu tuleb lugeda nii, nagu iga koht oleks eraldi number, näiteks: 10 tuleb lugeda "üks, null", mitte "kümme". Et kasutada saab ainult kahte sümbolit (0 ja 1), siis juba kümnendsüsteemse arvu 2 esitamiseks tuleb kasutada mõlemat: 10.

Kapseldamine

Kapseldamine (ingl encapsulation) eraldab klassi funktsionaalse sisu ja liidese.

Kapseldamise saavutamiseks kirjeldatakse, millised klassid võivad objekti liikmeid kasutada. Tulemuseks on see, et objekt eksponeerib igale klassile kindla liidese - liikmed, mis on sellele klassile kättesaadavad. Eesmärgiks on see, et selle liidese kliendid ei sõltuks realisatsiooni nendest osadest, mis võivad tulevikus muutuda. Muudatuste tegemine muutub aga lihtsamaks.

Klass

Klass (ingl class) defineerib objekti abstraktsed omadused, muuhulgas ka objekti iseloomustavad omadused ning olemi käitumise ja oskused. Klass on nagu šabloon, mis kirjeldab millegi olemust.

Objektorienteeritud programmis on klassid need, mis pakuvad modulaarsust ning struktuuri.

Kommentaar

Kommentaarid (ingl comment) on kirjeldused, mida kompilaator koodilugemisel eirab. Pythonis defineeritakse üherealisi kommentaare sümboli # abil.

Konkatenatsioon

Konkatenatsioon (ingl concatenation) on sõnede “liitmine".

Näiteks 'a' + 'b' puhul on tulemuseks 'ab'.

Konstant

Konstant (ingl constant) ehk jääv suurus ehk muutumatu suurus on fikseeritud väärtus. Kõige sagedamini esinev konstandi liik on fikseeritud arv. Konstandi puhul on oluline, et selle nimetus annab edasi selle tähenduse.

Koodistiil

Programmeerijad on teinud teatud kokkulepped/reeglid, et kiiremini aru saada võõrast koodist. Need kokkulepped moodustavad nn koodistiili (ingl code style).

Koodistiili juures on osa reegleid, mis ei sõltu programmeerimiskeelest, teine osa on keelespetsiifilised. Üldiste reeglite hulka kuulub näiteks nõue valida muutujate, meetodite, klasside, liideste, failide jt. objektide nimed nii, et need peegeldaksid nende otstarvet, samuti nõue teksti „treppida“ jpt.

Pythoni koodistiili võtmenimeks on PEP 8.

Kümnendsüsteem

Kümnendsüsteem ehk detsimaalsüsteem (ingl d*ecimal system*) on positsiooniline arvusüsteem, mille alus on kümme. Arvu esitust kümnendsüsteemis nimetatakse kümnendarvuks ehk detsimaalarvuks.

Kümnendarvu iga numbrikoht näitab, mitmes kümne aste sellesse arvu kuulub.

Lähtekood

Lähtekood (kõnekeeles kood, ingl source code) on programmeerimiskeeles kirjutatud tekst, mis kirjeldab arvutile antavaid käske.

Lähtekood tuleb teisendada masinakeelde ehk transleerida (tõlkida) arvutile arusaadavasse keelde. Seda saab teha kompilaatori või interpretaatori abil.

Lokaalne muutuja

Lokaalne muutuja (ingl local variable) on muutuja, mis on defineeritud funktsiooni sees. Seda muutujat ei saa kasutada väljaspool funktsiooni.

Loogiline tehe

Loogiline tehe ehk loogiline operaator (ingl logic operator) on tehe, mille väärtus on tõeväärtus, näiteks and, or, >, not.

Meetod

Meetod (ingl method) on objekti võime midagi teha ning seda kasutatakse objektorienteeritud programmeerimises.

Modulo

% ehk Modulo on väga kasulik operaator, mille abil saab arvutada jääki, mis tekib kahe arvu jagamisel.

Jäägi arvutamine toimub järgmiselt: olgu meil kaks arvu, 14 ja 3. Soovime teada nende arvude jagatise jääki. Esialgu leiame arvu, mille korrutamisel 3-ga saame arvu, mis on kõige lähem 14-le. Tõenäoliselt see on 4, kuna korrutamisel 5-ga saame juba 15, mis on suurem kui 14. Ehk viimane sobiv arv, mida saab saada 3 korrutamisel täisarvuga ja mis on väiksem kui 14, on 12. Ja jäägiks on sel juhul 14 - 12 = 2. Siis öeldakse, et 14 / 3 = 4, jäägiga 2.

Moodul

Moodul ehk teek (ingl library) on funktsioonide kogum, kust saab funktsioone importida oma programmi. Näiteks moodul math.

Muutuja

Muutuja (ingl variable) on nimega varustatud koht arvuti mälus väärtuste salvestamiseks. Muutuja kasutamine programmis teeb võimalikuks andmete meeleshoidmise programmi töötamise jooksul.

Muutuja nime valimisel tuleb arvestada, et see peab programmikoodi lugejale andma arusaamise, mis sisuga väärtust antud muutujas hoitakse. Muutuja võib endas talletada ükskõik millise andmetüübi väärtust.

Muutumatu

Muutumatu (ingl immutable) tähendab seda et andmetüüp või selle elemendid ei ole muudetavad ega kustutatavad - näiteks sõned ja ennikud.

Objekt

Objekt (ingl object) on objektorienteeritud programmeerimises klassi eksemplar.

Objektorienteeritud programmeerimine

Objektorienteeritud programmeerimine (lühendina OOP, ingl object-oriented programming) on programmeerimise paradigma, mis kasutab "objekte" - andmestruktuure, mis koosnevad andmeväljadest ning meetoditest.

Olulisemad mõisted seoses objektorienteeritud programmeerimisega on: klass, objekt, meetod, pärimine, abstraktsioon, kapseldamine, polümorfism.

Operand

Operand (ingl operand) on väärtus, millega operaatorid tehteid teevad. Näiteks avaldises 5 + 10 on arvud 5 ja 10 operandid ja + on operaator.

Pärimine

Pärimine ehk pärilus (ingl inheritance) esieb siis, kui on olemas super- ja alamklass ja superklassi sees on defineeritud mingisugused funktsioonid/muutujad, ning need on kättesaadavad ka alamklassile. Alamklassis saab lisaks defineerida ka uusi funktsione ja alamklass saab ka muuta oma päritud omadusi.

Polümorfism

Polümorfism (ingl polymorphism) võimaldab programmeerijal käsitleda päritud klassi eksemplare kui ülemklassi eksemplare. Polümorfism tähendab seda, et erinevat tüüpi objektid reageerivad sama nimega meetodi väljakutsetele, kuid käitumine sõltub objekti tüübist.

Programm

Programm (ingl program) käskude (korralduste, instruktsioonide, lausete) kogum, mis määrab miliseid tegevusi peab arvuti täitma andmete ja objektidega.

Programmide koostamiseks kasutatakse spetsiaalseid programmeerimiskeeli ja -süsteeme. Igas keeles on piiratud valik käske ehk lauseid ning nende esitamiseks ja täitmiseks on määratletud kindlad reeglid. Programm võib koosneda mitmest üksusest.

Regulaaravaldis

Regulaaravaldis (ingl **regular expression, regex* või regexp) on teoreetilises informaatikas sümbolitest koosnev otsingumuster. Tavaliselt kasutatakse sellist mustrit sõnedes otsingu- ja/või asendusoperatsioonideks.

Rekursiivne algoritm

Rekursiivne algoritm (ingl recursive algorithm) ehk iseenesessepöörduv algoritm on algoritm, mis kutsub töö käigus välja iseennast.

Rekursioon

Rekursioon (ingl recursion) on protsess, kus funktsioon kutsutakse välja sellesama funktsiooni sees.

Sabarekursioon

S**abarekursioon** (ingl tail recursion) - funktsioon tagastab rekursiivse väljakutse tulemuse (see on viimane samm).

Sisendlause

Sisendlause (ingl input) on lause, mille abil saavad muutujad väärtused ning mille abil programmi algandmeid sisestatakse.

Näiteks: name = input("What is your name?")

Skoop

Skoop (ingl scope) tähistab programmis mingit kehtivuspiirkonda (või mõjupiirkonda), milles on muutujad seotud kindlate väärtustega.

Sõnastik

Sõnastik (ingl dictionary) lühendatult dict ``on andmetüüp, mida kasutatakse andmete koondamisel üheks kogumiks ja temas sisalduvaid üksikuid elemente on võimalik küsida kasutades avaldist kujul: ``kogum[võti]. Sõnastikud kirjutatakse looksulgude vahele, just nagu hulgad, aga iga elemendi juures näidatakse ära elemendi võti ja väärtus.

Sõne

Sõne (ingl string) on andmetüüp Pythonis, mida kasutatakse teksti esitamiseks. Sõne kirja panemiseks kasutame ülakomasid või jutumärke. Mitmerealine sõne tuleb piiritleda kolmekordsete jutumärkidega.

Pythonis on sõne tüübi tähistuseks str.

Sortimine

Sortimine (ingl sorting) on elementide järjestamine mingi kindla reegli alusel, näiteks sortimine suuremast väiksemani või sortimine tähestiku alusel.

Täisarv

Täisarv on andmetüüp täisarvule. Selle tähistus on int (sõnast integer).

Tõeväärtus

Tõeväärtus (ingl truth value, logical value) on lihtsaim loogikaavaldis, mille väärtus on True või False. Selle lühend on bool (sõnast boolean).

Treppimine

Treppimine (ingl indentation) on programmi lausetele taande jätmine vasakust servast.

Tsükkel

Programmikoodi ühe või mitme rea (lause) mitmekordseks täitmiseks kasutatakse korduslauseid ehk tsükleid (ingl loop).

Pythonis on tsükleid kahte tüüpi: for-tsükkel ning while-tsükkel.

Tsüklimuutuja

Tsüklimuutuja (ingl loop variable) on muutuja, mida kasutatakse tsükli jätkamistingimuses ja mis kontrollib tsükli korduste arvu.

Tüübi vihje

Pythonis on võimalik mitmel pool vihjata võimalikule andmetüübile kasutades tüübi vihjet (ingl type hint).

Tüübivihje kasutamine aitab IDE-l oluliselt efektiivsemalt määrata muutuja andmetüüpi ja seeläbi pakkuda sobivaid funktsioone. Lisaks on see abiks dokumenteerimisel ja aitab vältida TypeError-eid.

Näide: ``def greeting(name: str) -> str:

"""Greet a person by name.""" return "Hello " + name``

Ujukomaarv

Ujukomaarv (ingl float) on andmetüüp mis on loodud esitamaks väga suuri ja väga väikseid arve, mida oleks ebaotstarbekas esitada täisarvudena.

Ujukomaarv on koma sisaldav arv, selle tähistus on float.

Väljundlause

Väljundlause (ingl print) on lause, mille abil väljastatakse programmi tulemused ekraanile.

Vead

Vead (ingl errors) tekivad koodi käivitamisel, mis peatavad programmi töö. Vead võivad olla igasugused: kõige lihtsam ja võib-olla tihedamini esinev viga on SyntaxError, mis näitab, et kuskil koodis on süntaksi viga. Python'is taanded on ka süntaksi osa ja nende vale kasutamine põhjustab kompileerimise vigu.

Mõned näited veel:

  • IndexError tekib siis, kui indeks, mille järgi proovitakse saada elementi listist, ei ole korrektne.

  • NameError tekib siis, kui proovitakse kasutada muutujat, mis ei olnud kunagi deklareeritud.

  • TypeError tekib näiteks siis, kui proovitakse teha kahe muutuja liitmist, kus üks liidetavatest on string ja teine ei ole.

While-tsükkel

While-tsükkel (ingl while-loop) ehk eelkontrolliga tsükkel on konstruktsioon korduvate tegevuste realiseerimiseks programmis, mis käivitab tsükli sisus olevad laused seni kuni jätkamistingimus kehtib.

While-tsükkel erineb for-tsüklistselle poolest, et tema korral ei ole käivitamise arv rangelt määratud. Kui iga for-tsükli kohta saab täpselt öelda, mitu korda seda käivitatakse, ei saa seda tihti while-tsükli puhul nii täpselt määrata. While-tsüklile antakse kaasa boolean väide, mida enne igat iteratsiooni kontrollitakse. While tsükkel kestab, kuni kaasaantud väide on tõene, ning võib ka käia lõpmatuseni või mitte kordagi.