Hledáš dárek, který neskončí v koši? Nyní 90 % extra kreditů ZDARMA s promo kódem PREKVAPENI90. Zjisti více:
NOVINKA: Staň se datovým analytikem od 0 Kč a získej jistotu práce, lepší plat a nové kariérní možnosti. Více informací:

Diskuze – Lekce 13 - Statika v Pythonu - Třídní atributy

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
Nejnovější komentáře jsou na konci poslední stránky.
Avatar
Matěj Ježek:10.1.2022 19:01

Zdravíčko,
mohu se prosím, jako úplný hlupec zeptat, jaký je rozdíl mezi statickou metodou a metodou vloženou ve třídě? Tedy metodou bez použití dekorátoru @staticmethod?
Díky moc za případnou odpověď.

Avatar
Lukas
Člen
Avatar
Lukas:1.9.2022 21:46

Neni vysvetleno "jaký je rozdíl mezi statickou metodou a metodou vloženou ve třídě? Tedy metodou bez použití dekorátoru @staticmethod?"

Avatar
Odpovídá na Lukas
Vladimír Nováček:15.1.2023 20:29

Toto je rozdíl, který jsem vypozoroval v jejich chování:

>>> class VlozenaMetoda:
...     def metoda():
...             print("Já jsem vložená metoda")
...
>>> class StatickaMetoda:
...     @staticmethod
...     def metoda():
...             print("Já jsem statická metoda")
...
>>> vloz = VlozenaMetoda()
>>> stat = StatickaMetoda()

>>> VlozenaMetoda.metoda()
Já jsem vložená metoda
>>> vloz.metoda()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: VlozenaMetoda.metoda() takes 0 positional arguments but 1 was given

>>> StatickaMetoda.metoda()
Já jsem statická metoda
>>> stat.metoda()
Já jsem statická metoda
>>>
Avatar
Swarm23
Člen
Avatar
Swarm23:17.5.2023 16:22

Za mě dost článek zmatený nebo jsem možná zmatený já. Moc jsem z toho nepochytil.

Avatar
Jan Gritzbach:25.5.2023 16:13

Na to, o jak abstraktních pojmech tato lekce hovoří, je toho řečeno docela málo. Pro mnoho lidí může být obtížné tyto koncepty pochopit bez podrobnějšího vysvětlení. Chtělo by to vysvětlovat (alespoň z kraje článku) více polopaticky a dávat ještě více jednoduchých příkladů. 4/5

Odpovědět
"Stay curious, learn every day!"
Avatar
Petr Dostál
Člen
Avatar
Petr Dostál:6.6.2023 17:18

Většina se dá pochopit zbytek je třeba vysvětlit podrobněji

Odpovědět
Nikdy není pozdě
Avatar
Igor Michajlov:13.7.2023 11:09

V lekci je uveden pouze konec programu:
u = Uzivatel("Tomáš Marný", "heslojeveslo")
print("ID prvního uživatele je:", u.vrat_id())
v = Uzivatel("Olí Znusinudle", "csfd1fg")
print("ID druhého uživatele je:", v.vrat_id())
print("Minimální délka hesla uživatele je:",
Uzivatel.vrat_mi­nimalni_delku_hes­la())
print('Validnost hesla "heslo" je:',
Uzivatel.zvali­duj_heslo("hes­lo"))
input()

Chybí vysvětlení k metodám vrat_id() a vrat_minimalni_del­ku_hesla() – působí matouce.

Avatar
Dalimil Horváth:17.7.2023 15:58

S ohledem na složitost tématu, jsou dle mého koncepty a jejich fungování popsány až příliš stručně, zejména pak druhá polovina lekce.

Avatar
Hana Svobodová:21.7.2023 10:56

Vysvětlení je zhruba od poloviny zbytečně stručné, navíc část kódu není vysvětlená vůbec (např. kde se vzalo vrat_id).
A čeho zjednodušení má být toto?

"Do zdrojového kódu jsem pro zjednodušení přidal tyto řádky:

vrat_minimalni_del­ku_hesla = vrat_minimalni_del­ku_hesla_s
zvaliduj_heslo = zvaliduj_heslo_s"

Avatar
Michal Salvet:22.7.2023 10:13

Opsano z kodu k teto lekci.

class Trida:

    def nejaka_funkce():
        print("Tahle funkce je ve třídě!")

    def jina_funkce(text):
        print("Tahle funkce je také ve třídě!")
        print("Text je:", text)
Trida.nejaka_funkce()
Trida.jina_funkce("parametr")

Zajimalo by mne jakto ze to funguje i bez pouziti parametru self v zavorkach pri definovani funkce/metody. Diky

Nejnovější komentáře jsou na konci poslední stránky.
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 10 zpráv z 35.