POSLEDNÍ ŠANCE: Pracuj až o 60 % rychleji díky akreditovanému kurzu Specialista na AI. Nyní již od 0 Kč. Zjisti více:

Lekce 4 - Využití umělé inteligence při studiu programování

V minulé lekci, Proměnné a typový systém v Pythonu, jsme si ukázali základní datové typy, práci s proměnnou a napsali jsme si jednoduchý program.

V tomto tutoriálu se naučíme využívat AI při studiu programování. Ukážeme si, jak pomocí umělé inteligence lépe pochopit složité koncepty a zrychlit řešení úkolů, na kterých běžně trávíme spoustu času.

Pozor: AI je dobrý pomocník, ale zlý pán! Tato lekce ti ukáže, jak ti AI najde chybu ve tvém kódu nebo jednoduché úlohy vyřeší zcela za tebe. Prvně ale musíš nad úlohou přemýšlet a zkoušet ji sám, než požádáš o pomoc AI. Nebudeš jinak schopný v zaměstnání řešit komplexnější úlohy, se kterými ti AI nepomůže, protože ji nemůžeš poslat celý firemní projekt. Ve svém vlastním zájmu používej AI jen jako pomocníka, když nevíš, jak dál, a již jsi vyplýtval všechny možnosti.

Využití AI při studiu programování

Učení se programování může být občas náročné. Budeme se setkávat se spoustou nových konceptů a nezvyklých problémů. Dnešní doba nám však poskytuje AI nástroje, které nám práci i studium velmi ulehčí. Stačí se je naučit správně používat. Nerozumíme nějakému tématu? ChatGPT nám danou problematiku na základě našich otázek znovu vysvětlí a pomůže nám si dané téma osvojit. Narazili jsme na problém v nějaké úloze? Nástroj Canvas ji s námi rozebere a v případě potřeby doporučí další postup, opraví chyby a podobně. Strávili jsme hodinu luštěním našeho kódu a nakonec jsme zjistili, že celý problém zapříčinila chybějící závorka? Nejsme první ani poslední – toto je skutečně více než běžné. Když si osvojíme používání AI nástrojů, bude řešení podobných problémů otázkou několika sekund.

AI je nápomocná v mnoha dalších oblastech. Jak ji správně využívat, se učíme v kurzech Umělá inteligence.

Potřebuješ poradit? ChatGPT ti pomůže rychleji než lektor

Skvělým parťákem, a to nejen při studiu, pro nás bude zejména ChatGPT. Srozumitelně nám vysvětlí složitější látku, prodiskutuje s námi náročnější koncepty a dokáže navrhnout i řešení technických problémů v našem počítači. Pro studenty našich rekvalifikačních kurzů jsou samozřejmě k dispozici konzultace s lektory.

Ve většině případů však můžeme náš problém či dotaz vyřešit pomocí ChatGPT mnohem rychleji a stejně efektivně jako s lektorem.

ChatGPT je k dispozici prostřednictvím mobilní aplikace nebo online na adrese chatgpt.com. V řešení problémů umí být opravdu vynalézavý a zeptat se ho můžeme prakticky na cokoli:

Prompt pro ChatGPT - Základní konstrukce jazyka Python

Při komunikaci s chatbotem se dozvíme spoustu zajímavých informací a pochopíme i složité koncepty, kterých je v programování mnoho:

Odpověď ChatGPT na zadaný prompt - Základní konstrukce jazyka Python

Můžeme se například zeptat na látku, která nám není jasná a kterou bychom potřebovali dovysvětlit:

Vysvětli, k čemu slouží v Pythonu konstruktor.

Odpověď od ChatGPT

V Pythonu konstruktor slouží k inicializaci nového objektu třídy. Je to speciální metoda, která se automaticky zavolá při vytvoření instance třídy a obvykle slouží k nastavení počátečních hodnot atributů objektu.

🔧 Jak konstruktor vypadá? V Pythonu je konstruktor definován metodou __init__:

class Osoba:
    def __init__(self, jmeno, vek):
        self.jmeno = jmeno
        self.vek = vek
  • __init__ je speciální metoda (s dvěma podtržítky na začátku i na konci).
  • Prvním parametrem je vždy self, což je odkaz na právě vytvářený objekt.
  • Další parametry jsou hodnoty, které chceš předat při vytváření objektu.

🧪 Použití v praxi

osoba1 = Osoba("Anna", 25)

print(osoba1.jmeno)  # Výstup: Anna
print(osoba1.vek)    # Výstup: 25

Když vytvoříš osoba1 = Osoba("Anna", 25), zavolá se automaticky __init__ a nastaví se atributy jmeno a vek. ✅ K čemu je to dobré?

  • Umožňuje snadné vytvoření objektu s předdefinovanými vlastnostmi.
  • Zajišťuje, že každý objekt má po vytvoření validní stav.
  • Zvyšuje čitelnost a strukturu kódu v objektově orientovaném programování.
Pokud chceš, můžu ti ukázat i příklad s dědičností nebo statickými metodami. Stačí říct 😉

Dále se můžeme také zeptat na praktické využití určitého konceptu, například dědičnosti:

Vysvětli, co je dědičnost v Pythonu, k čemu se používá v praxi, a uveď jednoduchý příklad s kódem.

Odpověď od ChatGPT

🧬 Co je dědičnost v Pythonu?

Dědičnost (angl. inheritance) je základní princip objektově orientovaného programování (OOP), který umožňuje vytvořit novou třídu (tzv. podtřídu, subclass) na základě již existující třídy (tzv. rodičovská třída, superclass). Podtřída automaticky zdědí atributy (proměnné) a metody (funkce) své rodičovské třídy, ale může je také rozšířit nebo přepsat podle potřeby.

🧩 K čemu se dědičnost používá v praxi?

Dědičnost se využívá k:

  • Znovupoužití kódu – opakované psaní stejných funkcí se minimalizuje.
  • Strukturování kódu – hierarchicky rozdělené třídy přinášejí přehlednost a modularitu.
  • Polymorfismu – umožňuje používat objekty různých tříd stejným způsobem (např. když různé objekty mají metodu zvuk()).

💼 Příklady z praxe:

  • V systému pro správu uživatelů může být základní třída Uzivatel, ze které dědí Administrator a Zakaznik.
  • Ve hře může být Zvire rodičovská třída a Pes, Kocka její podtřídy s odlišnými metodami chování.

💡 Jednoduchý příklad dědičnosti v Pythonu

# 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!

✅ Shrnutí

  • Dědičnost umožňuje vytvářet specializované třídy na základě obecných.
  • Snižuje opakování kódu a podporuje přehlednější architekturu programů.
  • V Pythonu se dědičnost definuje pomocí závorky class Potomek(Rodic):.
  • Chceš-li, můžu ti také ukázat složitější příklad nebo zapojení více úrovní dědičnosti.

Kvalita odpovědi závisí především na našem dotazu, tzv. promptu. Jak správně strukturovat prompt, se učíme v lekci Vytváříme efektivní prompty pro excelentní výstupy.

Nefunguje ti kód? Vyzkoušej nástroj ChatGPT Canvas

Při práci s ChatGPT lze využít rozšíření Canvas, které nabízí mimo jiné i rozhraní pro interaktivní práci s kódem. Na rozdíl od běžného chatovacího okna umožňuje organizovat odpovědi a návrhy kódu do bloků, což je ideální pro složitější úlohy, jako je návrh architektury aplikace nebo ladění rozsáhlejších projektů. Díky vizuálnímu uspořádání je možné lépe sledovat jednotlivé kroky návrhu, experimentovat s různými přístupy a snadno se vracet k předchozím verzím řešení. Nástroj spustíme tlačítkem Canvas v menu ChatGPT, které se nám otevře po kliknutí na tři tečky v chatovacím okně:

Zapnutí Canvasu v ChatGPT - Základní konstrukce jazyka Python

Nyní chatbotu předáme náš kód a začneme na něm pracovat:

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ódu vyhledá a opraví chyby:

Editace kódu v Canvasu - Základní konstrukce jazyka Python

Při správně zadaném promptu můžeme v našem kódu jednoduše doplnit chybějící funkcionalitu:

Oprav chybu a přidej do kódu validaci vstupu. Chci, aby nešlo zadat prázdné jméno.

Editace kódu v Canvasu – doplnění funkcionality - Základní konstrukce jazyka Python

GitHub Copilot – Pomocník přímo ve tvém IDE

GitHub Copilot je AI asistent vyvinutý společnostmi GitHub a OpenAI. V PyCharm je k dispozici jako plugin, který je schopný navrhovat doplnění v našem kódu, generovat kód dle zadání či hledat a opravovat chyby.

Pozor: Nepoužívej nástroj Copilot ve svém IDE, protože bez důkladného zvládnutí základů programování se nenaučíš samostatně vytvářet funkční kód a v zaměstnání budeš snadno nahraditelný.

AI nástroje dokážou výrazně pomoci při studiu programování – usnadňují pochopení obtížné látky a řešení náročných úloh. Po dohodě se zaměstnavatelem je lze uplatnit i v praxi, kde mohou šetřit čas a zvyšovat produktivitu. Proto je důležité se s nimi naučit efektivně pracovat a využívat jejich potenciál naplno.

V příští lekci, Načítání hodnot z konzole a parsování v Pythonu, se podíváme na načítání hodnot z konzole, parsování dat a poté si vytvoříme jednoduchou kalkulačku.


 

Předchozí článek
Proměnné a typový systém v Pythonu
Všechny články v sekci
Základní konstrukce jazyka Python
Přeskočit článek
(nedoporučujeme)
Načítání hodnot z konzole a parsování v Pythonu
Článek pro vás napsal Adam Straňovský
Avatar
Uživatelské hodnocení:
301 hlasů
Autor se zabývá výukou a vzděláváním dospělých, zejména v oblasti výpočetní techniky, programování a tvorby webových stránek. Ve volném čase se rád věnuje hudbě a hře na kytaru.
Aktivity