IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

Diskusia – 19. diel - Vlastnosti v Pythone druhýkrát - 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. júna 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ť
3. júna 11:35
Avatar
Ján Kisty
Člen
Avatar
Ján Kisty:30. júla 15:34

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

 
Odpovedať
30. júla 15:34
Avatar
Tomáš Jícha:29. augusta 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. augusta 14:35
Avatar
Kamil Vítek
Člen
Avatar
Kamil Vítek:16. septembra 15:50

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

 
Odpovedať
16. septembra 15:50
Avatar
Ladislav Schnaiberg:12. októbra 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. októbra 19:55
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.

Zatiaľ nikto nevložil komentár - buď prvý!