Arvutiteaduse instituut
  1. Esileht
  2. Python koolis
EN
Logi sisse

Python koolis

  • Sissejuhatus
  • Teemad

1. Paigaldamine
2. Kommentaarid
3. Muutujad
4. Andmetüübid
5. Sõned
6. Operaatorid
7. Sisend ja väljund
8. Tingimus
9. Tsükkel
10. Algoritm ja plokkskeem
11. Järjend
12. Sõnastik
13. Funktsioon
14. Failioperatsioonid
15. Moodulid
16. Objektid

  • PyGame
  • ÜLESANDED

16. Objektid

Objektide teema on edaspidises programmeerimises oluline, kuid momendil teeme sellest lihtsalt lühiülevaate. Tulevikus kasutatav graafiliste mängude mooduli PyGame puhul näeme pidevalt sarnast lähenemist (punkt objekti ja selle meetodi vahel jne). Kui selle peatüki sisu jääb kohati võõraks, pole vaja muretseda.

Hoides andmeid mingi objekti (näiteks ühe inimese) kohta oleme seni kasutanud erinevaid muutujaid: eraldi muutujat eesnime, perekonnanime, vanuse jne kohta. Mitme inimese kohta peaksime muutujate arvu suurendama ning nendega ümberkäimine on tülikas.

Nagu reaalsete asjade puhul, saame ka programmeerimisel kasutada objekte koos nende omaduste kirjelduste ja nendega seotud meetoditega (tegevustega). Reaalses maailmas oleval objekti "raamat" kirjeldamisel saame öelda näiteks, milline on selle pealkiri, kes on autor, mitu lehte sellel on, millist värvi on kaaned jne. Samuti saame me kirjeldada tegevusi, mida me saame raamatuga teha: seda avada, lugeda, sulgeda jne. Objektide omadusi nimetatakse nende atribuutideks, tegevusi, mida nendega teha saab, meetoditeks.

Pythonis võiksime objekti "raamat" kirjeldada näiteks nii:

  • atribuudid: raamat.pealkiri, raamat.autor, raamat.lk_arv jne;
  • meetodid: raamat.avamine(), raamat.lugemine(), raamat.sulgemine().

Punkt eristab objekti selle atribuudist või meetodist. Atribuutideks võivad olla suvalised muutujad (arvud, sõned, ka järjendid jne), meetoditeks funktsioonid.

Objekti luues defineerime kõigepealt nn. klassi (inglise k. class) e. omaduste ja meetodite kogumi, millest seda tüüpi objektid koosnevad.

class Raamat:
    def avamine(self):
        self.olek = "lahti"
        return self.olek
    def sulgemine(self):
        self.olek = "kinni"
        return self.olek

Nüüd tuleb luua konkreetne raamatu tüüpi objekt:

romaan = Raamat("", "")

Seejärel lisada sellele uuele Raamat-tüüpi objektile "romaan" atribuudid:

romaan.pealkiri = "Toomas Nipernaadi"
romaan.autor = "Gailit"
romaan.olek = "kinni"

Kui soovime teada, millised on objekti "romaan" autor ja pealkiri, võime kasutada sellist rida:

print(romaan.autor, romaan.pealkiri)

Kui tahame vaadata raamatu olekut, seejärel muuta seda ("avada" raamatut) ning olekut uuesti vaadata, võime kirjutada nii:

print(romaan.olek)
romaan.avamine()
print(romaan.olek)

Creative Commons litsentsiga Autorile viitamine + Mitteäriline eesmärk 3.0 Eesti (CC BY-NC 3.0 EE) - https://creativecommons.org/licenses/by-nc/3.0/ee/

  • 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