Táto prednáška bude dôležitá, ak máte čo do činenia s veľkými programami.
Naučíte sa riešiť chyby pomocou blokov výnimiek a pomocou komentárov v Pythone.
výnimky
Naučíme sa, ako zaobchádzať s chybami v programoch Python. Začnime napísaním malého programu na získanie veku používateľa z terminálu.
age = int(input('Age'))
print(age)
Poďme to spustiť.
Teraz sa pozrite na ukončovací kód tohto programu. Kód ukončenia 0 znamená, že náš program bol úspešne ukončený a nevyskytli sa žiadne chyby. Čo ak však tento program spustíme ešte raz a namiesto zadania číselnej hodnoty zadáme reťazec?
Dostaneme chybu hodnoty s jeho správou „neplatný literál pre int() so základom 10“ Táto správa nám v podstate hovorí, že tento reťazec „qwe“ neobsahuje platné domáce číslo, ktoré možno previesť na celé číslo. Teraz sa pozrite na ukončovací kód tohto programu. Výstupný kód 1 znamená, že náš výstupný kód zlyhal, takže 0 vždy znamená úspech a čokoľvek iné ako 0 znamená zlyhanie. V programovaní tento druh chyby označujeme ako výnimku.
Ako dobrý programátor pythonu by ste mali túto situáciu predvídať. Nechcete, aby sa celý váš program zrútil len preto, že používateľ zadal neplatnú hodnotu. Takže namiesto toho, aby ste nechali program zlyhať, mali by ste situáciu riešiť a vytlačiť správne chybové hlásenie. To vám ukážem na tejto prednáške.
V Pythone máme konštrukciu tzv try except
používa sa na riešenie chybových situácií.
try:
age = int(input('Age'))
print(age)
Tieto dva riadky kódu sú súčasťou nášho try:
blokovať. Doplníme except
blok za ním s typom chyby, ktorú očakávame.
except ValueError:
print('Invalid Value')
V prípade chyby hodnoty teraz vráti reťazec „Neplatná hodnota“.
Pozrime sa na iný druh chyby zmenou predchádzajúceho programu.
try:
age = int(input('Age'))
income = 20000
risk = income / age
print(age)
except ValueError:
print('Invalid Value')
Teraz, ak spustíme tento program a zadáme '0' ako vek, číselnú hodnotu. Technicky by sme teda nemali dostávať žiadne výnimky.
Poďme to spustiť.
Pozri sa. Náš program sa zrútil a urobili sme „chybu nulového delenia“, pretože nemôžeme deliť číslo 0. Ešte raz sa pozrite na kód odchodu. S výnimkou bloku sme nedokázali zachytiť tento druh chyby alebo tento druh výnimky.
Tento blok s výnimkou zachytáva iba výnimky chyby typu hodnoty a na spracovanie chyby nulového delenia budeme potrebovať nový blok okrem. Upravme podľa 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 vyriešený!
- Chyba syntaxe
- Chyba typu
- Chyba názvu
- Chyba indexu
- Chyba hodnoty
- Chyba nulového rozdelenia
- Chyba atribútu
- Chyba spustenia
- Keyerror
- Chyba pamäte
- Chyba tvrdenia
- Chyba odsadenia
- Eoferror
- Chyba s pohyblivou rádovou čiarkou
- Chyba pretečenia
- Logická chyba
- Systémová chyba
- Neimplementovaná chyba
- Oserror
- Ioerror
- Referenčná chyba
- Chyba Unicode
- Aritmetická chyba
- Chyba dekódovania Unicode
- Chyba kódovania Unicode
- Chyba prekladu Unicode
- Chyby runtime
Ako programátor by ste si mali byť vedomí všetkých výnimiek vo svojom programe a podľa toho by ste s nimi mali narábať.
Komentáre
Teraz budeme hovoriť o komentároch v pythone. Komentáre používame na pridávanie poznámok alebo komentárov k našim programom, aby sme zlepšili čitateľnosť a odovzdali nejakú správu niekomu, kto číta náš kód.
Komentáre je možné písať v programe pomocou znaku #. Všetko, čo napíšete za #, bude kompilátorom Pythonu ignorovať a nebude vykonané. Komentáre môžete pridávať na jednotlivé riadky aj za riadok kódu.
Pomocou týchto komentárov môžeme vysvetliť niečo o našom kóde, môžeme ich použiť ako pripomienky na opravu alebo vyjasnenie vecí, alebo ich môžeme použiť na komunikáciu s ostatnými vývojármi, ktorí čítajú náš kód, alebo na vysvetlenie, prečo sme tento kód napísali v určitým spôsobom. Toto sú dobré prípady použitia komentárov. môžeme mať komentáre aj vo viacerých riadkoch. Každý riadok by mal začínať novým znakom #. Jedna vec, ktorej sa musíte pri používaní komentárov vyhnúť, je vysvetliť, čo kód robí.
Tu je príklad zlého komentára:
Toto je zlý komentár, pretože mi hovorí jasnou rečou. Hovorí mi to, že v ďalšom riadku sa vypíše „Slnko zapadá na Západe“. Problém s týmto komentárom je, že okrem toho, že je podrobný a opakujúci sa, ak sem prídete a zmeníte západ na východ, tento komentár je zastaraný. Takže zakaždým, keď aktualizujeme náš kód, budeme sa musieť vrátiť a upraviť zodpovedajúci komentár.
Stručne povedané, použite svoje komentáre na zodpovedanie toho, ako a prečo, namiesto toho, čo je.
Tu je príklad dobrého komentára:
V prvom komentári si pripomínam, že musím aktualizovať túto hodnotu príjmu pred dokončením programu a druhá hodnota hovorí ostatným vývojárom, ktorí čítajú môj kód, že v tomto programe nie sú spracované všetky chyby.
Záverom je, že by ste sa mali vyhnúť nadbytočným komentárom a vaše komentáre by mali vášmu kódu pridať určitú hodnotu.
Zabaliť!
Výnimky a komentáre sú dva aspekty programovania, ktoré sa často prehliadajú a ich význam sa zvyčajne podceňuje.
Zlyhanie vášho programu je takmer také zlé ako nekomentovanie vášho kódu tam, kde je to potrebné. Ďalšia prednáška bude zameraná na triedy a konštruktérov.
Nechaj odpoveď