Zarábaj až 6 000 € mesačne! Akreditované rekvalifikačné kurzy od 0 €. Viac informácií.

4. diel - Využitie umelej inteligencie pri štúdiu programovania Nové

V minulej 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ále 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, na ktorých bežne trávime veľa času.

Využitie AI pri štúdiu programovania

Učenie sa programovania 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 av 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 skutočne 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, pre nás 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:

Prompt pre ChatGPT - Základné konštrukcie jazyka Python - Základné konštrukcie jazyka Python

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:

Odpoveď ChatGPT na zadaný prompt - Základné konštrukcie jazyka Python - Základné konštrukcie jazyka Python

Môžeme sa napríklad opýtať na látku, ktorá nám nie je jasná a ktorú by sme potrebovali dovysvetliť:

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 Osoba:
        def __init__(self, jmeno, vek):
            self.jmeno = jmeno
            self.vek = vek
    • __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

    osoba1 = Osoba("Anna", 25)
    
    print(osoba1.jmeno)  # Výstup: Anna
    print(osoba1.vek)    # Výstup: 25

    Keď vytvoríš osoba1 = Osoba("Anna", 25), zavolá sa automaticky __init__ a nastavia sa atribúty jmeno a vek. ✅ 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.
      • Polymorfizmu – umožňuje používať objekty rôznych tried rovnakým spôsobom (napr. keď rôzne objekty majú metódu zvuk()).

      💼 Príklady z praxe:

      • V systéme pre správu užívateľov môže byť základná trieda Uzivatel, z ktorej dedí Administrator a Zakaznik.
      • V hre môže byť Zvire rodičovská trieda a Pes, Kocka jej podtriedy s odlišnými metódami správania.

      💡 Jednoduchý príklad dedičnosti v Pythone

      # Rodičovská třída
      class Zvire:
          def __init__(self, jmeno):
              self.jmeno = jmeno
      
          def zvuk(self):
              return "Neznámý zvuk"
      
      # Podtřída Pes, která dědí ze Zvire
      class Pes(Zvire):
          def zvuk(self):
              return "Haf haf!"
      
      # Podtřída Kocka, která dědí ze Zvire
      class Kocka(Zvire):
          def zvuk(self):
              return "Mňau!"
      
      # Použití
      zvire1 = Pes("Rex")
      zvire2 = Kocka("Micka")
      
      print(f"{zvire1.jmeno} říká: {zvire1.zvuk()}")
      print(f"{zvire2.jmeno} říká: {zvire2.zvuk()}")

      Výstup:

      Rex říká: Haf haf!
      Micka říká: Mňau!

      ✅ 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 Potomek(Rodic):.
      • 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 na našom dotaze, 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:

      Zapnutie Canvasu v ChatGPT - Základné konštrukcie jazyka Python - Základné konštrukcie jazyka Python

      Teraz chatbotu odovzdáme náš kód a začneme na ňom pracovať:

      jmeno = input("Zadej své jméno: ")
      if 3 <= len(jmeno) >= 10:
          print("Normální jméno")
      else:
          print("Máš moc krátké nebo moc dlouhé jméno!")
      input()

      Nástroj nám v kóde vyhľadá a opraví chyby:

      Editácia kódu v Canvase - Základné konštrukcie jazyka Python - Základné konštrukcie jazyka Python

      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.
      .<> Editácia kódu v Canvase – doplnenie funkcionality - Základné konštrukcie jazyka Python - Základné konštrukcie jazyka Python

      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ť doplnenie v našom kóde, generovať kód podľa zadania či hľadať a opravovať chyby.

      Inštalácia pluginu

      Pre využitie GitHub Copilotu v PyCharm je nutné ho najskôr nainštalovať. V ľavom hornom rohu IDE vyberieme možnosť File, kde kliknutím na položku Settings otvoríme okno s nastavením:

      Položka settings v PyCharm - Základné konštrukcie jazyka Python - Základné konštrukcie jazyka Python

      V otvorenom menu zvolíme záložku Plugins a kliknutím na tlačidlo Marketplace otvoríme výber pluginov na stiahnutie:

      Plugins v PyCharm - Základné konštrukcie jazyka Python - Základné konštrukcie jazyka Python

      Do vyhľadávacieho poľa zadáme GitHub Copilot a plugin nainštalujeme kliknutím na tlačidlo Install:

      GitHub Copilot v záložke plugins - Základné konštrukcie jazyka Python - Základné konštrukcie jazyka Python

      Po dokončení inštalácie budeme vyzvaní na reštartovanie PyCharm a následne na prihlásenie k nášmu GitHub účtu.

      V prípade, že účet na GitHube ešte nemáme, založíme si ho podľa postupu v lekcii Verzovací nástroj Git a PyCharm.

      Práca s GitHub Copilotom

      Akonáhle je Copilot aktívny, začne v reálnom čase generovať návrhy na doplnenie kódu. Pokiaľ začneme písať metódu, Copilot sa pokúsi navrhnúť jej logiku. Pri práci s triedami alebo cyklami dokáže generovať celé bloky kódu. Vie sa dokonca učiť z nášho štýlu kódovania a prispôsobiť mu svoje návrhy. Navrhovaný kód potvrdíme stlačením klávesu Tab:

      Návrh doplnenia kódu v GitHub Copilote - Základné konštrukcie jazyka Python - Základné konštrukcie jazyka Python

      Okrem automatického doplňovania kódu ponúka GitHub Copilot aj chatovacie rozhranie, ktoré umožňuje klásť otázky, získavať vysvetlenie ku kódu alebo generovať celé bloky kódu na základe zadania. V PyCharm je chat dostupný po kliknutí na ikonu Copilot Chat v pravom bočnom paneli. Do otvoreného okna môžeme zadať prompt, napríklad na vygenerovanie triedy s funkciou na výpočet kvadratickej rovnice:

      Prompt na vytvorenie funkcie na riešenie kvadratických rovníc - Základné konštrukcie jazyka Python - Základné konštrukcie jazyka Python

      Po odoslaní promptu nám GitHub Copilot poskytne hotový kód, ktorý je možné pomocou dvoch tlačidiel v pravom hornom rohu skopírovať alebo priamo vložiť do nášho kódu:

      Vloženie kódu do triedy - Základné konštrukcie jazyka Python - Základné konštrukcie jazyka Python

      Okrem výberu AI modelu nám ešte chatovacie rozhranie poskytuje možnosť pripojiť konkrétny súbor pomocou ikony +. To je užitočné napríklad pri hľadaní chýb alebo optimalizácii kódu v rámci určitého súboru.

      V našom prípade sme pripojili súbor main.py a zadali sme prompt na nájdenie chýb. Dostali sme nasledujúcu odpoveď s návrhmi opráv:

      Chatovacie rozhranie v GitHub Copilote – oprava kódu  - Základné konštrukcie jazyka Python - Základné konštrukcie jazyka Python

      Claude Artifacts

      Chatbotov, ako je ChatGPT, je k dispozícii viac. Medzi ďalšie obľúbené patrí Claude. Podobne ako ChatGPT ho môžeme využiť ako pomocníka pri nasledujúcich úkonoch:

      • programovanie – generovanie a oprava kódu, návrhy algoritmov, vysvetlenie zložitých konceptov,
      • písanie a editácia textu – pomoc s tvorbou dokumentov, článkov alebo e-mailov,
      • analýza a zhrnutie informácií – rýchle spracovanie veľkého množstva textu a jeho prevedenie do stručnej a zrozumiteľnej podoby,
      • asistencia pri rozhodovaní – pomoc s logickým myslením, plánovaním projektov a brainstormingom.
      Princíp používania je podobný ako u ChatGPT:
      Ukážkový prompt Claude - Základné konštrukcie jazyka Python - Základné konštrukcie jazyka Python

      Artifacts sú potom špeciálne výstupy, ktoré Claude generuje oddelene od hlavného chatu, aby boli prehľadné a ľahko dostupné. Nejedná sa o plnohodnotný editor, ale skôr o spôsob, ako štruktúrovane uchovať kód, dokumenty alebo vizualizácie bez straty v dlhom priebehu konverzácie. Keď si napríklad necháme vygenerovať kód, Claude ho automaticky uloží ako Artifact. Môžeme ho potom kedykoľvek otvoriť, zdieľať alebo ďalej rozšíriť. Týmto spôsobom máme dôležité informácie vždy na dosah, bez nutnosti sa k nim zložito vracať.

      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úcom kvíze, Kvíz - Konzoly a premenné v Pythone, si vyskúšame nadobudnuté skúsenosti z predchádzajúcich lekcií.


       

      Ako sa ti páči článok?
      Pred uložením hodnotenia, popíš prosím autorovi, čo je zleZnakov 0 z 50-500
      Predchádzajúci článok
      Premenné a typový systém v Pythone
      Všetky články v sekcii
      Základné konštrukcie jazyka Python
      Preskočiť článok
      (neodporúčame)
      Kvíz - Konzoly a premenné v Pythone
      Článok pre vás napísal Adam Straňovský
      Avatar
      Užívateľské hodnotenie:
      16 hlasov
      .
      Aktivity