Online kurz Python II. Mierne Pokročilý vám pomôže prejsť od jednoduchých skriptov k programom postaveným na triedach a spolupracujúcich objektoch. Ide o certifikovaný kurz s certifikátom o absolvovaní. Nadviažeme na základné znalosti Pythonu a vysvetlíme, ako objektovo orientované programovanie spája údaje so správaním a uľahčuje rozdelenie programu na zrozumiteľné časti. Zorientujete sa v prostrediach PyCharm a JetBrains Datalore, nastavení pracovného prostredia a používaní notebookov. Prejdeme k premenným, identite objektov a vzťahu medzi objektom a jeho dátovým typom. Naučíte sa rozlišovať triedu a inštanciu, definovať atribúty a metódy, inicializovať objekt pomocou __init__ a používať parameter self. Objasníme, ako môžu jednotlivé inštancie uchovávať rozdielne údaje. Vysvetlíme aj predvolené hodnoty parametrov a zisťovanie dostupných atribútov pomocou dir().
Na tieto základy nadviažeme kompozíciou, abstrakciou, dedičnosťou a polymorfizmom. Pomocou UML diagramov si znázorníte vzťahy medzi triedami a lepšie pochopíte, kedy trieda rozširuje inú triedu a kedy využíva jej objekt ako svoju súčasť. Pri dedičnosti sa naučíte pracovať so super() a porozumiete poradiu vyhľadávania metód označovanému ako MRO. Ukážeme si abstraktné triedy a metódy aj prepisovanie zdedeného správania. Pri zapúzdrení vysvetlíme konvencie pomenovania atribútov a ich význam pre návrh rozhrania triedy. Funkcie isinstance() a issubclass() vám pomôžu zisťovať vzťahy medzi objektmi a triedami. Získate tak základ na organizovanie kódu, ktorý sa ľahšie rozširuje a opakovane používa.
Súčasťou online kurzu Python je práca s virtuálnymi prostrediami a balíčkami, pri ktorej odlíšime izolovanie projektového prostredia od inštalácie knižníc pomocou pip. Pomocou knižnice PrettyTable pripravíte čitateľné tabuľkové výstupy v konzole. Naučíte sa reagovať na chyby prostredníctvom spracovania výnimiek s try, except a finally. Získate aj základný prehľad o možnostiach grafických rozhraní s Kivy a návrhárom wxFormBuilder a o uplatnení Pythonu v umelej inteligencii. Znalosti využijete pri sprehľadňovaní vlastných skriptov a návrhu menších aplikácií, v ktorých jednotlivé objekty plnia konkrétne úlohy. Ak sa chcete skutočne naučiť objektovo orientované programovanie v Pythone, tak toto je ideálny online kurz pre vás.