Krajta

Výukový program pro Python Traceback

Výukový program pro Python Traceback
Jakmile je při provádění kódu vytvořena výjimka, Python zobrazí zpětné sledování. Traceback se jeví jako zpráva v Pythonu, která zahrnuje volání funkcí provedená na určitém místě v kódu, tj.E., jakmile budete mít chybu, doporučuje se, abychom ji zahodili zpět (traceback). Zpětné trasování může poskytnout podrobnosti o tom, co se stalo s kódem, pokud kód obdrží chybu. Takové zpětné vazby mohou vypadat trochu vyčerpávající, ale mohou být opravdu užitečné, dokud je nezbavíte a neuvidíte, co se vás snaží naučit. V trasování Pythonu je spousta dat, která vám pomohou analyzovat a opravit příčinu problému generovaného ve vašem kódu.

Interpretovat Traceback:

Prohlížení některých zpětných stop může poskytnout lepší interpretaci znalostí, které poskytují, aby vám z toho něco bylo možné. Pojďme se podívat na interpretaci toho, jak může být základní výjimkou zpětné vysledování. Zde je příklad jednoduchého kódu generujícího chybu trasování při provádění Spydera (Python 3).

Níže je obrázek zpětného sledování chyb. První řádek zobrazuje umístění souboru. Zde jsou některé specifikace pro všechny řádky používající barvy.

Bílý: Traceback (poslední hovor poslední) je příkaz zpětného sledování. Na druhou stranu poslední část bílé části zobrazuje související informace o chybě.

Zelená: Vysvětlení názvu a umístění souboru došlo k chybě.

Modrý: Zobrazuje číslo řádku souboru, kde došlo k chybě.

Žlutá: Zobrazuje skutečný řádek, kde se objevila výjimka.

Červené: Typ chyby.

Tady je několik důležitých chyb ve zpětném trasování:

Chyba názvu
IndexError
KeyError
TypeError
valueError
ImportError / ModuleNotFound

Chyba jména:
Kdykoli chcete interpretovat proměnnou, která nebyla zadána v kódu, zobrazí se NameError. Zde je jednoduchý příklad zpětného sledování NameError. Máme proměnnou 'číslo' definované s nějakou hodnotou, zatímco v tisk prohlášení jsme vytiskli ‚otupělý ', který není nikde v kódu definován. Spustíme tento kód a zkontrolujeme, co se stane.

Můžete vidět, že došlo k trasování NameError, protože jsme nedefinovali proměnnou 'numb', tak jak ji lze vytisknout. To je důvod, proč tento program zobrazuje NameError a na posledním řádku s bílým a červeným textem je zpracovává s dalšími informacemi. Žlutý text ukazuje přesný kód, kde k chybě došlo.

Chyba indexu:

IndexError se vytvoří, když je v kódu definována řada, která je mimo dosah. Definovali jsme a seznam pojmenovaný 'Nový' mít 5 indexů s některými hodnotami. Poté musíme uvést příkaz print, aby byla hodnota na výstupu index číslo 9.

Když tento kód provedeme, vygeneruje index definující IndexError mimo rozsah. Jak jsme definovali seznam 5 indexů, proto vytištěné číslo indexu, které je 9, nemá přístup, protože není v našem rozsahu.

Chyba klíče:

Python generuje klíčovou chybu, když se pokusíte dosáhnout klíč který je není definovaný nebo mapované, zejména z a slovník. Je to spíš jako IndexError. Pojďme se tedy podívat na jednoduchý příklad pojmenovaného slovníku 'náhodný' se dvěma klíči, které jsou v něm definovány, s některými hodnotami přiřazenými těmto klíčům. Na dalším řádku jsme vytiskli pojmenovaný klíč 'A' v tiskovém prohlášení.

Ach! Máme zpětnou zpětnou vazbu KeyError. To je způsobeno nesprávným klíčem poskytnutým v tiskovém příkazu, který není definován ve slovníku. Můžeme udělat chybu, když zadáme klíč s velkým písmenem, zatímco ve slovníku je definován klíč s malým písmenem.

Chyba typu:

TypeError je definován jako výjimka, ke které dochází, když byla nějaká operace nebo metoda rozmazána nevhodný typ entity nebo proměnné. Máme příklad jednoduché proměnné, která bere dvě hodnoty, zatímco tento řetězec přidává obě hodnoty. První hodnota je typ řetězce a druhá je celočíselný typ. Tiskové prohlášení tiskne výsledek přidání.

Když je tento kód proveden, vyvolá výjimku. Tato výjimka je o nesprávném typu zřetězeného objektu. Vypracovává se, že nemůžete přidat proměnnou typu řetězce s proměnnou typu celé číslo.

Chyba hodnoty:

Hodnota chyby je definována jako výjimka, ke které dochází pouze v případě některých vestavěná metoda bere argument správného typu ale špatná hodnota v tom. Podívejme se na malý příklad. Bereme vestavěnou metodu int () s nějakou řetězcovou hodnotou v tiskovém prohlášení.

Když spustíte tento jednorázový kód, vygeneruje ValueError, protože používáme funkci typu integer a dáváme jí hodnotu řetězce, která má být provedena. Proto se ukáže, že funkce int () má v sobě neplatnou hodnotu.

Na druhou stranu, pokud mu dáte zlomkovou hodnotu, převede ji na celočíselnou hodnotu.

Tento kód vydává 11, protože trvá pouze celočíselnou část, zatímco desetinná část je zcela ignorována.

Chyba importu / Modul nebyl nalezen:

Někdy musíte import některé balíčky nebo moduly ve vašem pythonovém kódu používat speciální funkce prostřednictvím nich. Zpětný sled ImportError najdete, když je v příkazu v kódu poněkud chybný. K této chybě zpětného sledování dochází, když jste neschopný na nalézt konkrétní modul nebo něco z balíčku. Zde jsme importovali dva moduly, 'pip' a 'Jáva', v našem kódu.

Při provádění tohoto kódu poskytne ModuleNotFoundError zpětné sledování. Je to proto, že importovaný modul „java“ není knihovnou pythonu podporován. Na druhou stranu nedává výjimku při importu modulu „pip“, protože se jedná o modul podporovaný Pythonem.

Závěr:

Zpětné sledování Pythonu poskytuje vynikající znalosti, které vám pomohou zjistit, co se v kódu děje nesprávně. Ať už to děláte poprvé, nebo prostě nerozumíte tomu, co dělá, může být generace zpětného sledování trochu skličující. Chcete-li se stát silnějším programátorem v Pythonu, je důležité zjistit, jaké podrobnosti poskytuje zpětné sledování Pythonu.

Hry SuperTuxKart pro Linux
SuperTuxKart pro Linux
SuperTuxKart je skvělý titul navržený tak, aby vám ve vašem systému Linux přinesl zážitek Mario Kart zdarma. Je to docela náročné a zábavné hrát, je n...
Hry Výukový program Battle for Wesnoth
Výukový program Battle for Wesnoth
The Battle for Wesnoth je jednou z nejpopulárnějších strategických her s otevřeným zdrojovým kódem, které si v tuto chvíli můžete zahrát. Tato hra se ...
Hry 0 A.D. Tutorial
0 A.D. Tutorial
Z mnoha strategických her venku je 0 A.D. dokáže vyniknout jako komplexní titul a velmi hluboká, taktická hra, přestože je otevřeným zdrojem. Vývoj hr...