4. diel - Využitie umelej inteligencie pri štúdiu programovania
V predchádzajúcej lekcii, Premenné a typový systém v Pythone, sme si ukázali základné dátové typy, prácu s premennou a napísali sme si jednoduchý program.
V tomto tutoriáli sa naučíme využívať AI pri štúdiu programovania. Ukážeme si, ako pomocou umelej inteligencie lepšie pochopiť zložité koncepty a zrýchliť riešenie úloh, pri ktorých bežne trávime veľa času.
Pozor: AI je dobrý pomocník, ale zlý pán! Táto lekcia ti ukáže, ako ti AI nájde chybu v kóde alebo vyrieši jednoduché úlohy za teba. Najprv však musíš nad úlohou premýšľať a vyskúšať ju urobiť sám, než požiadaš o pomoc AI. Inak nebudeš schopný v zamestnaní riešiť komplexnejšie úlohy, s ktorými ti AI nepomôže, pretože jej nemôžeš poslať celý firemný projekt. Vo vlastnom záujme používaj AI len ako pomocníka, keď nevieš, ako ďalej, a už si vyčerpal všetky možnosti.
Využitie AI pri štúdiu programovania
Učiť sa programovať môže byť občas náročné. Budeme sa stretávať s množstvom nových konceptov a nezvyčajných problémov. Dnešná doba nám však poskytuje AI nástroje, ktoré nám prácu aj štúdium veľmi uľahčia. Stačí sa ich naučiť správne používať. Nerozumieme nejakej téme? ChatGPT nám danú problematiku na základe našich otázok znovu vysvetlí a pomôže nám si danú tému osvojiť. Narazili sme na problém v nejakej úlohe? Nástroj Canvas ju s nami rozoberie a v prípade potreby odporučí ďalší postup, opraví chyby a podobne. Strávili sme hodinu lúštením nášho kódu a nakoniec sme zistili, že celý problém zapríčinila chýbajúca zátvorka? Nie sme prví ani poslední – toto je naozaj viac ako bežné. Keď si osvojíme používanie AI nástrojov, bude riešenie podobných problémov otázkou niekoľkých sekúnd.
AI je nápomocná v mnohých ďalších oblastiach. Ako ju správne využívať, sa učíme v kurzoch Umelá inteligencia.
Potrebuješ poradiť? ChatGPT ti pomôže rýchlejšie ako lektor
Skvelým parťákom, a to nielen pri štúdiu, bude najmä ChatGPT. Zrozumiteľne nám vysvetlí zložitejšiu látku, prediskutuje s nami náročnejšie koncepty a dokáže navrhnúť aj riešenie technických problémov v našom počítači. Pre študentov našich rekvalifikačných kurzov sú samozrejme k dispozícii konzultácie s lektormi.
Vo väčšine prípadov však môžeme náš problém či otázku vyriešiť pomocou ChatGPT oveľa rýchlejšie a rovnako efektívne ako s lektorom.
ChatGPT je k dispozícii prostredníctvom mobilnej aplikácie alebo online na adrese chatgpt.com. V riešení problémov vie byť naozaj vynaliezavý a opýtať sa ho môžeme prakticky na čokoľvek:

Pri komunikácii s chatbotom sa dozvieme množstvo zaujímavých informácií a pochopíme aj zložité koncepty, ktorých je v programovaní mnoho:

Môžeme sa napríklad opýtať na látku, ktorá nám nie je jasná a ktorú by sme potrebovali vysvetliť:
Vysvetli, na čo slúži v Pythone konštruktor.
Odpoveď od ChatGPT
V Pythone konštruktor slúži na inicializáciu nového objektu triedy. Je to špeciálna metóda, ktorá sa automaticky zavolá pri vytvorení inštancie triedy a obvykle slúži na nastavenie počiatočných hodnôt atribútov objektu.
🔧 Ako konštruktor vyzerá? V Pythone je konštruktor
definovaný metódou __init__:
class Person: def __init__(self, name, age): self.name = name self.age = age
__init__je špeciálna metóda (s dvoma podčiarkovníkmi na začiatku aj na konci).- Prvým parametrom je vždy
self, čo je odkaz na práve vytváraný objekt. - Ďalšie parametre sú hodnoty, ktoré chceš odovzdať pri vytváraní objektu.
🧪 Použitie v praxi
person1 = Person("Anna", 25) print(person1.name) # Output: Anna print(person1.age) # Output: 25
Keď vytvoríš person1 = Person("Anna", 25), zavolá sa
automaticky __init__ a nastavia sa atribúty name a
age. ✅ Na čo je to dobré?
- Umožňuje jednoduché vytvorenie objektu s preddefinovanými vlastnosťami.
- Zaisťuje, že každý objekt má po vytvorení validný stav.
- Zvyšuje čitateľnosť a štruktúru kódu v objektovo orientovanom programovaní.
Ďalej sa môžeme tiež opýtať na praktické využitie určitého konceptu, napríklad dedičnosti:
Vysvetli, čo je dedičnosť v Pythone, na čo sa používa v praxi a uveď jednoduchý príklad s kódom.
Odpoveď od ChatGPT
🧬 Čo je dedičnosť v Pythone?
Dedičnosť (angl. inheritance) je základný princíp objektovo orientovaného programovania (OOP), ktorý umožňuje vytvoriť novú triedu (tzv. podtriedu, subclass) na základe už existujúcej triedy (tzv. rodičovská trieda, superclass). Podtrieda automaticky zdedí atribúty (premenné) a metódy (funkcie) svojej rodičovskej triedy, ale môže ich tiež rozšíriť alebo prepísať podľa potreby.
🧩 Na čo sa dedičnosť používa v praxi?
Dedičnosť sa využíva na:
- Znovupoužitie kódu – opakované písanie rovnakých funkcií sa minimalizuje.
- Štruktúrovanie kódu – hierarchicky rozdelené triedy prinášajú prehľadnosť a modularitu.
- Polymorfizmus – umožňuje používať objekty rôznych
tried rovnakým spôsobom (napr. keď rôzne objekty majú metódu
sound()).
💼 Príklady z praxe:
- V systéme pre správu užívateľov môže byť základná trieda
User, z ktorej dedíAdministratoraCustomer. - V hre môže byť
Animalrodičovská trieda aDog,Catjej podtriedy s odlišnými metódami správania.
💡 Jednoduchý príklad dedičnosti v Pythone
# Parent class class Animal: def __init__(self, name): self.name = name def sound(self): return "Unknown sound" # Subclass Dog, which inherits from Animal class Dog(Animal): def sound(self): return "Woof woof!" # Subclass Cat, which inherits from Animal class Cat(Animal): def sound(self): return "Meow!" # Usage animal1 = Dog("Rex") animal2 = Cat("Mick") print(f"{animal1.name} says: {animal1.sound()}") print(f"{animal2.name} says: {animal2.sound()}")
Výstup:
Rex says: Woof woof! Mick says: Meow!
✅ Zhrnutie
- Dedičnosť umožňuje vytvárať špecializované triedy na základe všeobecných.
- Znižuje opakovanie kódu a podporuje prehľadnejšiu architektúru programov.
- V Pythone sa dedičnosť definuje pomocou zátvorky
class Child(Parent):. - Ak chceš, môžem ti tiež ukázať zložitejší príklad alebo zapojenie viacerých úrovní dedičnosti.
Kvalita odpovede závisí predovšetkým od našej požiadavky, tzv. promptu. Ako správne štruktúrovať prompt, sa učíme v lekcii Vytvárame efektívne prompty pre excelentné výstupy.
Nefunguje ti kód? Vyskúšaj nástroj ChatGPT Canvas
Pri práci s ChatGPT je možné využiť rozšírenie Canvas, ktoré ponúka okrem iného aj rozhranie pre interaktívnu prácu s kódom. Na rozdiel od bežného chatovacieho okna umožňuje organizovať odpovede a návrhy kódu do blokov, čo je ideálne pre zložitejšie úlohy, ako je návrh architektúry aplikácie alebo ladenie rozsiahlejších projektov. Vďaka vizuálnemu usporiadaniu je možné lepšie sledovať jednotlivé kroky návrhu, experimentovať s rôznymi prístupmi a ľahko sa vracať k predchádzajúcim verziám riešenia. Nástroj spustíme tlačidlom Canvas v menu ChatGPT, ktoré sa nám otvorí po kliknutí na tri bodky v chatovacom okne:

Teraz chatbotu odovzdáme náš kód a začneme na ňom pracovať:
name = input("Enter your name: ") if 3 <= len(name) >= 10: print("Normal name") else: print("Your name is too short or too long!") input()
Nástroj nám v kóde vyhľadá a opraví chyby:

Pri správne zadanom prompte môžeme v našom kóde jednoducho doplniť chýbajúcu funkcionalitu:
Oprav chybu a pridaj do kódu validáciu vstupu. Chcem, aby nešlo zadať prázdne meno.

GitHub Copilot – Pomocník priamo v tvojom IDE
GitHub Copilot je AI asistent vyvinutý spoločnosťami GitHub a OpenAI. V PyCharm je k dispozícii ako plugin, ktorý je schopný navrhovať doplnenia v našom kóde, generovať kód podľa zadania či hľadať a opravovať chyby.
Pozor: Nepoužívaj nástroj Copilot vo svojom IDE, pretože bez dôkladného zvládnutia základov programovania sa nenaučíš samostatne vytvárať funkčný kód a v zamestnaní budeš ľahko nahraditeľný.
AI nástroje dokážu výrazne pomôcť pri štúdiu programovania - uľahčujú pochopenie ťažké látky a riešenie náročných úloh. Po dohode so zamestnávateľom ich možno uplatniť aj v praxi, kde môžu šetriť čas a zvyšovať produktivitu. Preto je dôležité sa s nimi naučiť efektívne pracovať a využívať ich potenciál naplno.
V nasledujúcej lekcii, Načítanie hodnôt z konzoly a parsovanie v Pythone, sa pozrieme na načítanie hodnôt z konzoly, parsovanie dát a potom si vytvoríme jednoduchú kalkulačku.
