Mis on objekt:
{
"name":"age"
id-code:
phone:
}
["age", "kati"]
[111, 112"]
.
.
.
.
[... , ... ]
objekt :  "age"
[{up},{kati}] : "kati"
- Objekt kirjeldab ära konkreetse loogilise kogumi
- näiteks õues olev punane auto on üks objekt
- selle taga olev roheline auto on teine objekt jne
 
- Tavaliselt mõtleme me arvust kui ühest väärtusest (nt 7)
- Objekt koosneb tavaliselt mitmest väärtusest
- värv, mark, mudel, pikkus, registrimass jne
 
Mis on klass:
- Klass kirjeldab ära struktuuri
- näiteks autol on värv, pikkus jne
 
- Klass (üldiselt) ei sisalda andmeid
- Klass on andmetüüp
- Samatüüpi andmed pärinevad kõik ühest klassist
- punane auto on auto, roheline auto on auto jne
 
- Kuigi meil on maailmas mitu autot (objekti), siis meil on üks klass auto
Mis on OOP:
- Objekt-orienteeritud programmeerimine (OOP) on programmeerimise paradigma, mis kasutab objekte
- Python on objekti-orienteeritud programmeerimiskeel (OOP)
- Pythonis kõik asjad on objektid
OOP tehnika:
- Kapseldamine (encapsulation)
- funktsionaalsus peidetakse
 
- Modulaarsus (modularity)
- programm jagatakse iseseisvateks tükkideks
 
- Polümorfism (polymorphism)
- alamklass saab meetodeid üle kirjutada
 
- Pärimine (inheritance)
- alamklass pärib omadused ja meetodid
 
Mis on Sõne:
- Sõne on objekt
- Kui loote uue sõne, siis tegelikult luuakse uus objekt, mille tüüp on str.
- Sõne «funktsioone» kutsutakse meetoditeks
- ehk siis klassis kirjeldatud funktsioonid on meetodid
 
Sõne näide:
s = "Hello"
print(type(s)) #<class 'str'>
print(id(s)) # 30773472
print(id(s.replace("H", "h"))) #61507648
- Loome sõne sja küsime selle tüübi. Tüüp onstrklass
- idtagastab objekti kohta unikaalse arvu. Kui id on erinev, siis on ka objekt erinev (st mälus erinevas kohas)
- replaceteeb uue sõne, seda näeme ka- id-ga
- replaceon sõne meetod ehk funktsioon, mida saab välja kutsuda objektil
List:
a = [1, 2, 3] b = [1, 2, 3] c = b print(id(a)) # 44058024 a.append(4) print(id(a)) # 44058024 still the same print(id(b)) # 44059184 print(id(c)) # 44059184 - same as b b.pop() print(id(b)) # 44059184 - still the same print(id(c)) # 44059184 - and same
print(id(c)) # 44059184 - and same
- Listi muutes idei muutu
- cja- bviitavad samale listile
a = [1, 2, 3]         append(r)
b = [1, 2, 3]         a 123 --> 1.2.3
c = b                   b 253 --> list class 1 2 3
a.append(4)         c 253 --> list class 1 2 3
b.pop(o)                
c = [1,2]               c 43 --> 1 2
c = b{:]
c = list(b)
Veel objekte
print(type(1)) # <class 'int'> print(type(True)) # <class 'bool'> print(type(1.2)) # <class 'float'> print(type(None)) # <class 'NoneType'> print(type(len)) # <class 'builtin_function_or_method'> print(type(type)) # <class 'type'>
Klass kui andmetüüp:
- Iga klass on andmetüüp
- Näiteks on Pythonis klass str
- Iga konkreetne sõne, näiteks "tere", on selle klassi objekt (ehk isend)
- Ühest klassist saab luua lõpmata palju objekte
- Objekti kohta öeldakse ka isend ja instants
- Üldiselt mõeldakse «objekt», «isend», «instants» terminitega samu asju
- Erinevates allikates võivad neil erinevused olla