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

Diskusia – 19. diel - Vlastnosti v Pythone - Pokročilé vlastnosti a dedenie

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
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í)"

 
Odpovedať
+8
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

 
Odpovedať
+2
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
...

 
Odpovedať
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

 
Odpovedať
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
 
Odpovedať
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
 
Odpovedať
27.11.2024 11:44
Avatar
Tomáš Zápotocký:6. februára 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

 
Odpovedať
6. februára 21:50
Avatar
Veronika Viková:22. apríla 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.

 
Odpovedať
22. apríla 15:53
Avatar
Vanda Klepetková:25. apríla 21:42

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

 
Odpovedať
25. apríla 21:42
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 9 správy z 9.