NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!

Diskuze – Lekce 3 - Atributy a metody v Pythonu

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Barbora Zdvihalová:12. června 10:45

"Za úkol máte předělat si naši konzolovou kalkulačku do
objektů."
Opravdu by tvůrcům dalo práci, kdyby tak nějak navedli, co přesně z kalkulačky se má "předělat"? Skoro mi přijde, že víc než jen "Vítejte v kalkulačce" a "Děkuji za použití kalkulačky" po této lekci neumíme :) (a pokud to tak je, proč to není blíže specifikované?) Chápu, že samostatná práce je potřeba, ale tohle je placený kurz, kde bych očekávala větší leadership :)

 
Odpovědět
12. června 10:45
Avatar
DarkCoder
Člen
Avatar
DarkCoder:12. června 13:58

Zdejší výklad je dosti zjednodušený. Zaměřený na základní mechaniku volání metod s parametry, ale nevysvětluje proč a jak objekty v OOP spolupracují.

Myslíte, že chtít po studujících předělat kalkulačku s dosavadními podklady které jste jim dodali, je vhodné?

Skutečné OOP je hlavně o vzájemné komunikaci instancí s jejich vlastními daty a chováním. Zde je ukázkový příklad:

class Pozdravovac:
    def __init__(self, styl):
        self.styl = styl  # textový styl pozdravu, např. "formalni" nebo "neformalni"

    def pozdrav(self, kdo_pozdravuje, koho_pozdravuje):
        # Sestaví pozdrav podle stylu a jmen uživatelů
        if self.styl == "formalni":
            return f"Dobrý den, {koho_pozdravuje.jmeno}. Já jsem {kdo_pozdravuje.jmeno}."
        elif self.styl == "neformalni":
            return f"Ahoj {koho_pozdravuje.jmeno}! Jsem {kdo_pozdravuje.jmeno}."
        else:
            return f"{kdo_pozdravuje.jmeno} zdraví {koho_pozdravuje.jmeno}."

class Uzivatel:
    def __init__(self, jmeno, pozdravovac):
        self.jmeno = jmeno  # jméno uživatele
        self.pozdravovac = pozdravovac  # instance Pozdravovac definující styl pozdravu

    def pozdrav(self, jiny_uzivatel):
        # Pozdraví jiného uživatele podle svého stylu (pozdravovače)
        return self.pozdravovac.pozdrav(self, jiny_uzivatel)

# Vytvoření dvou různých pozdravovačů (instance Pozdravovac)
formalni = Pozdravovac("formalni")
neformalni = Pozdravovac("neformalni")

# Vytvoření uživatelů s různými styly pozdravu
karel = Uzivatel("Karel", formalni)
honza = Uzivatel("Honza", neformalni)

print(karel.pozdrav(honza))  # Dobrý den, Honza. Já jsem Karel.
print(honza.pozdrav(karel))  # Ahoj Karel! Jsem Honza.
Odpovědět
12. června 13:58
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
Avatar
Jan Valenta
Člen
Avatar
Odpovídá na DarkCoder
Jan Valenta:23. června 16:39

Děkuju!

 
Odpovědět
23. června 16:39
Avatar
Branislav Kollar:Včera 10:10

Po niekoľkých lekciách OOP máme prerobiť kalkulačku na OOP? To nemôžete myslieť vážne. :)

 
Odpovědět
Včera 10:10
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.