NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!

Diskuze – Lekce 18 - Funkce a výjimky v Pythonu

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
Jaroslav Jančár:21.12.2022 8:34

Udělal bych z jedné stránky 2, zvlášť funkce a zvlášť výjímky ... na pochopení funkcí bych použil ještě jednodušší příklady z minulosti ;) avšak více jich ... aby začínající člen viděl v příkladech paralely a tím si upevnil nově nabyté znalosti.

Odpovědět
21.12.2022 8:34
ThinkPad L450 // Windows 11 // MSI Stealth 15M
Avatar
Jan Daliba
Člen
Avatar
Jan Daliba:28.12.2022 12:08

Jak odchytit libovolnou výjimku, když neznám její název?

 
Odpovědět
28.12.2022 12:08
Avatar
Eva Axmanová:18.1.2023 15:25

Něco mi uniklo? Dosavadní kód kalkulačky je ten z 6. lekce (cykly) a byl trochu jiný....

 
Odpovědět
18.1.2023 15:25
Avatar
Odpovídá na Eva Axmanová
Lucie Řežábková:19.1.2023 20:13

Je to tak, také mám kód kalkulačky podle lekce 6. Tady asi něco uniklo, ale ne nám 🙂

 
Odpovědět
19.1.2023 20:13
Avatar
Jan Novotný
Člen
Avatar
Jan Novotný:14.2.2023 15:26

U představení nástroje "try" na ošetření chyb není nikde zmíněno, jak se v kombinaci s "try" používá konstrukce "else". Ta je pak ale použita ve funkci "nacti_cislo", což je poměrně matoucí.

 
Odpovědět
14.2.2023 15:26
Avatar
Odpovídá na Radka
Veronika Riva Kopčová:21.2.2023 9:39

Přesně se vším souhlasím :) jsem na začátků a bez jiných zdrojů vysvětlení např. z youtube bych byla v pr...

 
Odpovědět
21.2.2023 9:39
Avatar
Michal Hošek:12.4.2023 18:46

Chybělo mi detailnější vysvětlení, co se mění a jak to změníme a proč to měníme.

 
Odpovědět
12.4.2023 18:46
Avatar
Odpovídá na Jan Daliba
Jan Gritzbach:5.5.2023 10:32

Všechny výjímky v Pythonu jsou ve skutečnosti objekty tříd, které pomocí dědičnosti vycházejí z nějaké obecnější výjimky. Například IndexError vychází z "rodiny" LookupError, která vychází z "rodiny" Exception, která vychází z BaseException.

Pokud v kódu ošetříš nějakou konkrétní výjimku, např. IndexError, bude ošetřena jen ona. Pokud ošetříš kód obecnějším typem výjimky, např. LookupError, bude zachycen nejen IndexError, ale také třeba KeyError, který je také potomkem LookupError.

Pokud chceš odchytit výjimku, ale neznáš její název, můžeš prozatím použít obecnou třídu Exception, která je rodičovskou třídou pro všechny běžné výjimky v Pythonu. Jde však o velmi špatný přístup k psaní kódu.

Používání obecných výjimek namísto co možná nejkonkrétnějších je "lajdácký" způsob psaní kódu. Ten může mít své místo třeba při samotném vývoji kódu, když potřebuji rychle ošetřit nějaký problém, protože mě ve sktuečnosti zajímá něco jiného, a nechci se prozatím do hloubky zabývat tím, co výjimku vyvolává.

Pro účely skutečně robustního programu by však naopak měly být v kódu ošetřeny jednotlivé výjimky co možná nejkonkrétněji.

Odpovědět
5.5.2023 10:32
"Stay curious, learn every day!"
Avatar
Tamara Nečasová:30.6.2023 15:24

Málo objasněné, původní kalkulačka jiná, bez pomoci ostatních zdrojů bych neměla šanci pochopit

 
Odpovědět
30.6.2023 15:24
Avatar
Odpovídá na Jan Gritzbach
Michal Salvet:3.7.2023 22:10

No to by me zajimalo proc co nejkonkretneji? Ja prece potrebuju aby kod vzal nejaka data a ty zpracoval a jiny typ dat ktere proste hodi chybu tak ty potrebuju odfiltrovat. Takze jaka je pointa neboli zvyseni robustnosti programu kdyz proste odfiltruju jednim vrzem vse co nechci (haze to chybu) a nezabyvam se tim jakou to haze chybu? Muze tech chyb byt vice a kazdy typ chyby bych musel zvlast osetrit. Vysledek naprosto stejny ale vice prace. Odpoved by mne fakt zajimala, uz nad tim premyslim delsi dobu a zatim mi to nikdo nevysvetlil tak aby to davalo smysl.

 
Odpovědět
3.7.2023 22:10
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 118.