Oris teme
Splošno
Naloge in izpiti
Uvod v Python
- Python 2 / Python 3
- aritmetične operacije in osnovne funkcije
- uvažanje iz knjižnic
- spremenljivke
- vrste napak: sintaktične, ob izvajanju, vsebinske
- definicije funkcij, stavek
return - ničelna vrednost
None - logične vrednosti
- pogojni stavek
Rekurzija
- uporaba razhroščevalnika
- rekurzivni klici
- neobvezni argumenti
- Evklidov algoritem
Nizi
- osnovne operacije na nizih
- različni zapisi nizov
- indeksi in rezine
- pretvorbe med tipi
- vgrajene metode na nizih
*
f-nizi
Zanke
- stranski učinki
- funkcija
print - zanka
while - iskanje z bisekcijo
- zanka
for - funkciji
enumerateinzip - stavki
break,continueinpass - *metoda Monte-Carlo
Seznami & nabori
- seznami
- spreminjanje seznamov
- vgrajene metode na seznamih
- metode
reversein obračanje z[::-1] - metoda
sortin funkcijasorted - izpeljani seznami
- nabori
- razlika med seznami in nabori
Računska zahtevnost
- časovna in prostorska zahtevnost
- notacija velikega $O$
- izračun časovne zahtevnosti
- časovna zahtevnost osnovnih operacij v Pythonu
Slovarji & množice
- slovarji
- osnovno delo s slovarji
- *izpeljani slovarji
- množice
- vgrajene metode na množicah
- *izpeljane množice
- razlika med seznami in množicami
- *parametri
*argsin**kwargs
Razredi
- definicije lastnih razredov
- metode in atributi
- metoda
__init__ - metodi
__repr__in__str__ - metode
__add__,__sub__,__mul__, … - statične metode
- *razredne metode
- *iteratorji
- *iterabilni objekti
- *generatorji
- *zgoščevalne tabele
Interaktivna simulacija zgoščevalnih tabel, ki jih Python (varianto Quadratic probing) uporablja, da zagotovi iskanje in spreminjanje množic in slovarjev v času $O(1)$.
Datoteke
- funkcija
open - metode
read,readlineinreadlines - odpiranje datotek z
with open(...) as f: - kodne tabele
- metoda
writein pisanje sprint(..., file=f) - absolutne in relativne poti
- knjižnica
os - zapis
JSONin knjižnicajson
- funkcija
Novosti v Pythonu
- *operator
:= - *označevanje tipov
- *definicija podatkovnih razredov z
@dataclass - *ujemanje vzorcev
- *operator
Tekstovni vmesnik
- pisanje od zgoraj navzdol
- ločitev modela in vmesnika
- shranjevanje stanja
Nadzor različic
- spremembe in repozitoriji
- ukazi
clone,commit,pushinpull - razreševanje konfliktov
- Markdown
- datoteka
.gitignore
Spletni vmesnik
- osnovna struktura spletnega vmesnika
- dekorator
@bottle.get - argumenti funkcije
bottle.run - spremenljivi spletni naslovi
- predloge in funkcija
bottle.template - funkcija
rebase - obrazci in
request.query - metoda POST in
request.forms - preusmeritve in
bottle.redirect - spletna ogrodja
Spletna storitev
- delo s piškotki
- podpora za več uporabnikov
- varno shranjevanje gesel
- Trenutna tema
Od silicija do strojne kode
- osnovne elektronske komponente
- tranzistor
- logična vrata
- logična vezja
- osnovni deli računalnika: registri, pomnilnik, strojna koda
Od zbirnika do generatorja praštevil
- osnovni ukazi za spreminjanje pomnilnika in registrov
- primerjave in skoki
- oznake
- delo s skladom
- klici funkcij