Obsah[Skrýt][Ukázat]
Tato přednáška bude důležitá, pokud se zabýváte velkými programy.
Naučíte se zacházet s chybami pomocí bloků výjimek a pomocí komentářů v Pythonu.
b) Výjimky
Naučíme se, jak zacházet s chybami v programech Python. Začněme tím, že napíšeme malý program, abychom z terminálu získali věk uživatele.
age = int(input('Age'))
print(age)
Pojďme to spustit.
Nyní se podívejte na ukončovací kód tohoto programu. Kód ukončení 0 znamená, že náš program byl úspěšně ukončen a nedošlo k žádným chybám. Co když ale tento program spustíme ještě jednou a místo zadání číselné hodnoty zadáme řetězec?
Dostaneme chybu hodnoty s jeho zprávou „neplatný literál pro int() se základem 10“ Tato zpráva nám v podstatě říká, že tento řetězec „qwe“ neobsahuje platné domovské číslo, které lze převést na celé číslo. Nyní se podívejte na ukončovací kód tohoto programu. Výstupní kód 1 znamená, že se náš výstupní kód zhroutil, takže 0 vždy znamená úspěch a cokoliv kromě 0 znamená selhání. V programování označujeme tento druh chyby jako výjimku.
Jako dobrý programátor pythonu byste měli tuto situaci předvídat. Nechcete, aby se celý váš program zhroutil jen proto, že uživatel zadal neplatnou hodnotu. Takže místo toho, abyste nechali program spadnout, měli byste situaci vyřešit a vytisknout správnou chybovou zprávu. To vám ukážu na této přednášce.
V Pythonu máme konstrukci tzv try except
slouží k řešení chybových situací.
try:
age = int(input('Age'))
print(age)
Tyto dva řádky kódu jsou součástí našeho try:
blok. doplníme except
blok za ním s typem chyby, kterou očekáváme.
except ValueError:
print('Invalid Value')
V případě chyby hodnoty nyní vrátí řetězec „Neplatná hodnota“.
Pojďme zkontrolovat jiný druh chyby změnou předchozího programu.
try:
age = int(input('Age'))
income = 20000
risk = income / age
print(age)
except ValueError:
print('Invalid Value')
Nyní, když spustíme tento program a zadáme '0' jako věk, číselnou hodnotu. Technicky bychom tedy neměli dostávat žádné výjimky.
Pojďme to spustit.
Podívej se. Náš program se zhroutil a udělali jsme „chybu nulového dělení“, protože nemůžeme vydělit číslo 0. Ještě jednou se podívejte na výstupní kód. S výjimkou bloku jsme nemohli zachytit tento druh chyby nebo tento druh výjimky.
Tento blok kromě zachycuje pouze výjimky chyby typu hodnoty a pro zpracování chyby nulového dělení budeme potřebovat nový blok kromě. Upravme podle toho program.
try:
age = int(input('Age'))
income = 20000
risk = income / age
print(age)
except ZeroDivisionError:
print('Age cannot be 0')
except ValueError:
print('Invalid Value')
Problém je vyřešen!
- Chyba syntaxe
- Chyba typu
- Chyba jména
- Chyba indexu
- Chyba hodnoty
- Chyba nulového rozdělení
- Chyba atributu
- Chyba běhu
- Keyerror
- Chyba paměti
- Chyba tvrzení
- Chyba odsazení
- Eoferror
- Chyba s pohyblivou řádovou čárkou
- Chyba přetečení
- Logická chyba
- Chyba systému
- Neimplementovaná chyba
- Oserror
- Ioerror
- Referenční chyba
- Chyba Unicode
- Aritmetická chyba
- Chyba dekódování Unicode
- Chyba Unicodeencode
- Chyba překladu Unicode
- Chyby při běhu
Jako programátor byste si měli být vědomi všech výjimek ve svém programu a měli byste s nimi podle toho zacházet.
Komentáře
Nyní budeme mluvit o komentářích v pythonu. Komentáře používáme k přidávání poznámek nebo komentářů k našim programům, abychom zlepšili čitelnost a předali nějakou zprávu někomu, kdo čte náš kód.
Komentáře lze v programu psát pomocí znaku #. Vše, co napíšete za #, bude kompilátorem Pythonu ignorováno a nebude provedeno. Komentáře můžete přidávat na jednotlivé řádky i za řádek kódu.
Pomocí těchto komentářů můžeme vysvětlit něco o našem kódu, můžeme je použít jako připomínky, abychom věci napravili nebo vyjasnili, nebo je můžeme použít ke komunikaci s ostatními vývojáři, kteří čtou náš kód, nebo k vysvětlení, proč jsme tento kód napsali do určitým způsobem. Toto jsou dobré případy použití pro použití komentářů. můžeme také mít komentáře na více řádcích. Každý řádek by měl začínat novým znakem #. Jedna věc, které se musíte při používání komentářů vyhnout, je vysvětlení toho, co kód dělá.
Zde je příklad špatného komentáře:
Toto je špatný komentář, protože mi říká, že je to jasné. Říká mi to, že na dalším řádku bude vytištěno „Slunce zapadá na západě“. Problém s tímto komentářem je, že kromě toho, že je podrobný a opakující se, pokud sem přijdete a změníte západ na východ, je tento komentář zastaralý. Takže pokaždé, když aktualizujeme náš kód, budeme se muset vrátit a upravit odpovídající komentář.
Stručně řečeno, použijte své komentáře k zodpovězení toho, jak a proč je místo toho, co je.
Zde je příklad dobrého komentáře:
V prvním komentáři si připomínám, že musím aktualizovat tuto hodnotu příjmu před dokončením programu a druhá hodnota říká ostatním vývojářům, kteří čtou můj kód, že tento program neošetřuje všechny chyby.
Rozhodně byste se měli vyhnout nadbytečným komentářům a vaše komentáře by měly vašemu kódu přidat určitou hodnotu.
Zabalit!
Výjimky a komentáře jsou dva aspekty programování, které jsou často přehlíženy a jejich význam je obvykle podceňován.
Zhroucení vašeho programu je téměř stejně špatné jako nekomentování vašeho kódu tam, kde je to potřeba. Další přednáška se zaměří na třídy a konstruktory.
Napsat komentář