NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze – Lekce 19 - Vlastnosti v Pythonu podruhé - Pokročilé vlastnosti a dědění

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
Vladimír Urban:3.6.2024 11:35

Tak tohle mě trochu zmátlo: "Už víme, že
dekorátory se aplikují odspodu nahoru" a následně "nejdříve se
aktivuje chování dekorátoru @log_property (protože je napsán
nahoře a spouští se jako první)"

 
Odpovědět
3.6.2024 11:35
Avatar
Ján Kisty
Člen
Avatar
Ján Kisty:30.7.2024 15:34

dosť zložité pre začiatočníka, zjednodušiť alebo rozsekať na viac kapitol s príkladmi

 
Odpovědět
30.7.2024 15:34
Avatar
Tomáš Jícha:29.8.2024 14:35

Lekce 16, kapitola Vícenásobné dekorování

  • má nesprávný popis pod zdrojovým kódem na téma pořadí dekorátorů ... a stačí pár lekcí otočit a je to tady znovu i s nevhodným zdrojovým kódem.

Lekce 19, kapitola Pořadí dekorátorů:

  • Textace nad zdrojovým kódem je pěkná, avšak zdrojový kód je nevhodně volený jako ukázka, protože zde není žádný setter.

Kapitola Použití dekorátoru:
@polomer.setter
@log_property
...

 
Odpovědět
29.8.2024 14:35
Avatar
Kamil Vítek
Člen
Avatar
Kamil Vítek:16.9.2024 15:50

chce to víc postupné praxe člověk se ztrácí v probírané látce

 
Odpovědět
16.9.2024 15:50
Avatar
Ladislav Schnaiberg:12.10.2024 19:55

log_property, doplňuji komentáře tak jak se mi to jeví kompletní, pokud má být funkce univerzální

print()
print("Pokročilé vlastnosti a dekorátory")

def log_property(polomer):                                 # log_property(func)
    def obalena_funkce(self, nova_hodnota):
        puvodni_hodnota = getattr(self, '_polomer')        # getattr(self, '_' + func.__name__)
        if nova_hodnota != puvodni_hodnota:
            print(f"Změna poloměru: {puvodni_hodnota} -> {nova_hodnota}")  # Změna argumentu:
        return polomer(self, nova_hodnota)                  # func(self, nova_hodnota)
    return obalena_funkce
 
Odpovědět
12.10.2024 19:55
Avatar
Adam Černý
Člen
Avatar
Adam Černý:27.11.2024 11:44

Proč je v poslední ukázce kódu @log_property aplikováno na getter? Jaký smysl dává dekorovat getter pro čtení atributu logerem, který očekává změnu hodnot?

class Kruh:
    @log_property  # Tento dekorátor se spustí jako první
    @property      # Poté bude spuštěn @property
    def polomer(self):
        return self._polomer
 
Odpovědět
27.11.2024 11:44
Avatar
Tomáš Zápotocký:6. února 21:50

zase jenom ta terminologie...když se obalovací funkce pojmenuje jako obalená, tak je to prostě matoucí...zároveň chybí nějaký strukturování obsahu v popisech, takže člověk se v tom trochu ztrácí (člověk jako já :-) ) jako začátečník se u tohohle tématu skoro na všechno přeptávám AI, ptz si dokážu upravit, jak to chci vysvětlit...tjm. z kurzu vlastně dostávám kód a název kapitol :-D

 
Odpovědět
6. února 21:50
Avatar
Veronika Viková:22. dubna 15:53

Líbí se mi informace, že nemám pokračovat dál, dokud to nepochopím. Asi nebudu moc pokračovat dál nikdy, nechápu to. Uvidím až budu u příkladů, jestli to nějak sepne.

 
Odpovědět
22. dubna 15:53
Avatar
Vanda Klepetková:25. dubna 21:42

jen mi to zamotalo hlavu. Moc ráda bych nepřecházela v tutoriálu dál, ale musím plnit deadliny.

 
Odpovědět
25. dubna 21:42
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 9 zpráv z 9.