Online kurz Python – Objektové Programovanie vás naučí navrhovať triedy, vytvárať objekty a prepájať ich do zrozumiteľnej štruktúry programu. Ide o certifikovaný online kurz na objektovo orientované programovanie v Pythone. Nadviažeme na znalosť premenných, podmienok, cyklov a funkcií, aby sme sa mohli sústrediť na návrh objektov a ich spoluprácu. Začneme rozdielom medzi triedou a jej inštanciou a vysvetlíme si, ako objekt spája údaje so správaním. Pomocou kompozície budeme zostavovať zložitejšie riešenia z menších spolupracujúcich častí. Naučíme sa pracovať s atribútmi, inicializovať stav objektu pomocou __init__ a porozumieť základom jeho životného cyklu. Zorientujeme sa aj v prostredí Anaconda Navigator a práci s knižnicami.
Ďalej rozlíšime inštančné, triedne a statické metódy a ukážeme si, kedy ktorý spôsob použiť. Pri triednych premenných vysvetlíme rozdiel medzi údajmi spoločnými pre triedu a stavom jednotlivých objektov. Pomocou property vytvoríme vlastnosti, cez ktoré môžeme riadiť čítanie a zmenu hodnôt. Prejdeme k duck typingu, pri ktorom je dôležité podporované správanie objektu, a oboznámime sa s ukladaním opakovane využívaných výsledkov do vyrovnávacej pamäte. Návrh programu podporíme UML diagramami tried a modelovaním vzťahov v nástroji StarUML. Prepojíme grafický model s implementáciou v Pythone, aby sme vedeli vysvetliť zodpovednosť jednotlivých tried a ich vzájomné väzby.
V ďalšej časti sa zameriame na abstraktné triedy, dedičnosť a polymorfizmus. Pomocou modulu abc vyjadríme spoločné požiadavky na odvodené triedy. Pri dedičnosti využijeme super() a vysvetlíme si aj spoluprácu tried pri viacnásobnej dedičnosti. Nadviažeme iterátormi a spracovaním výnimiek v objektovom návrhu. Pri zapúzdrení rozlíšime verejné rozhranie od interných detailov a objasníme význam pomenovania atribútov s podčiarkovníkmi. Záver venujeme typovým anotáciám a generickým typom, ktoré pomáhajú dokumentovať očakávané hodnoty a podporujú nástroje na statickú kontrolu. Získané postupy využijeme pri rozširovaní skriptov, návrhu vlastných knižníc aj úprave existujúceho kódu. Budeme vedieť lepšie rozdeliť program na časti, ktorých účel a vzťahy dokážeme pomenovať. Ak sa chcete skutočne naučiť objektovo orientované programovanie v Pythone a navrhovať prehľadné triedy a ich spoluprácu, tak toto je ideálny online kurz pre vás.