NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
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í.
Funkce, kterou se snažíš použít je dostupná pouze pro registrované uživatele. Buďto se přihlas nebo si zdarma vytvoř nový účet.

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
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ěď.

 
Odpovědět
10.1.2022 19:01
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?"

 
Odpovědět
1.9.2022 21:46
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
>>>
 
Odpovědět
15.1.2023 20:29
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.

 
Odpovědět
17.5.2023 16:22
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
25.5.2023 16:13
"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
6.6.2023 17:18
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.

 
Odpovědět
13.7.2023 11:09
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.

 
Odpovědět
17.7.2023 15:58
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"

 
Odpovědět
21.7.2023 10:56
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

 
Odpovědět
22.7.2023 10:13
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.