# Kšok Python tečaj 2022
Uvod v programiranje v programskem jeziku Python. 
Snov iz prejšnjega leta:
[Kšok Python tečaj 2021](https://github.com/15minutOdmora/Ksok-Python-tecaj)
---
### Novice:
Končni videoposnetek (ustvarjen s kodo) projetka **Manipulacija slik ali videov (OpenCV2)** najdete v `mapi code/Projekt_OpenCV`
### Zoom:
Topic: Kšok - Python tečaj 2022
Time: 23.03.2022, 17:30
Join Zoom Meeting
[https://uni-lj-si.zoom.us/j/9462142755](https://uni-lj-si.zoom.us/j/9462142755)
Meeting ID: 946 214 2755
### Kontakt
<NAME>  
<EMAIL>  
---
### Predavanja:
- (P1) 23.03.2022, 17:30 - 19:30
- (P2) ~~30.03.2022, 17:30 - 19:30~~ prestavljeno na 31.03.2022, 17:30 - 19:15 
- (P3) 06.04.2022, 17:30 - 19:30
- (P4) 13.04.2022, 17:30 - 19:30
- (P5) ~~20.04.2022, 17:30 - 19:30~~ - prestavljeno na petek 22.04.2022
Prestavljeni termini za en teden:
- (P6) 04.05.2022, 17:30 - 19:30
- (P7) 11.05.2022, 17:30 - 19:30
- (P8) 18.05.2022, 17:30 - 19:30
- (P9) 25.05.2022, 17:30 - 19:30
---
## Python
Python lahko poberemo na naslovu:
- [Python Windows](https://www.python.org/downloads/windows/)
- [Python macOS](https://www.python.org/downloads/macos/)
Priporočam verzijo 3.10 ali pa vsaj 3.6
Prav tako bom med predavanji za urejevalnik kode uporabljal Visual Studio Code:
[Visual Studio Code download](https://code.visualstudio.com/)
V kolikor ne želite pobrati VSCode pride z inštalacijo Pythona še privzeti urejevalnik kode Idle.
---
## Uporabni viri
Osnove katere jemljemo med predavanji:
https://www.w3schools.com/python/
---
## Sklopi 
**Pregled obdelane snovi:**
- Uvod v programiranje, osnovni pojmi, sintaksa, spremenljivke, komentarji (P1)
- Podatkovni tipi
    - Števila (P1 in P2)
    - Nizi, formatiranje (P1)
    - Seznami, tupli, množice (P2)
    - Slovarji (P2)
    - Uvod v objekte (P2)
- Operatorji (P2)
- Pogojni stavki
    - If, elif, else (P3)
- Zanke
    - While (P3)
    - For (P3)
- Funkcije
    - Različni tipi (P4)
    - Anonimne lambda funkcije (P4)
- Ponovitev snovi; Križec krožec v konzoli (P4)
- Razredi in objektno programiranje
    - Definicija razredov, uporaba (P5)
    - Atributi, lastnosti in metode (P5)
    - Dedovanje, super (P6)
    - Magične metode (P5)
- List comprehension (P6)
- Iteratorji (P6)
- Try, except in finally (P6)
- Moduli 
    - Privzeti moduli (P7)
    - Lokalni moduli (P7)
    - PIP (P7)
- Privzeti moduli
    - Date, timedate (P7)
    - Math (P7)
    - Random (P7)
- Datoteke
    - Upravljanje z datotekami (pisanje, branje) (P7)
    - JSON (P7)
    - Csv (P7)
- Virtualizacija (virtual environments) (P8)
- ~~Matplotlib (P8)~~
- Krajši projekt, ideje: (P8 in P9)
    - ~~Video igra (Pygame)~~
    - ~~Branje strani ali "web scraping" (Selenium, BS4)~~
    - ~~Osnove spletnih strani (Flask)~~
    - **Manipulacija slik ali videov (OpenCV2)**
    - ~~Delanje z podatki (Numpy, Pandas, Matplolib)~~
---
### Uporaba pip:
Preden pobiramo knjižnjice je najbolje posodobiti pip:
```
pip install --upgrade pip
```
Posamezno knjižnjico poberemo tako, da podamo njeno ime. 
**Opomba**: Preden pobirate knjižnice; preverite na PyPI strani točno ime. Pojavljajo se duplikati knjižnjic s škodljivo kodo!
```
pip install opencv-python
```