Oprava: Chyba odsazení Python

Python je nově vznikající programovací jazyk, který byl poprvé vydán v roce 1991. Jazyk je známý svou rozsáhlou komplexní knihovnou a podporuje několik programovacích paradigmat, jako je funkční, imperativní, procedurální a objektově orientovaný.

Chyba odsazení v Pythonu

' Indentation Error: Očekává se odsazený blok ' se vyskytuje pro všechny druhy uživatelů; ať už jde o nováčky nebo zkušenosti. Protože Python uspořádá celý svůj kód správnými mezerami, pokud máte špatné odsazení, kód se nezkompiluje a zobrazí se chybová zpráva.

Podle konvencí používaných v PEP8 by v případě potřeby měly být čtyři mezery. Je ideální pro každého programátora používat správné odsazení, takže se zlepšuje čitelnost kódu.

Co způsobuje chybu odsazení v Pythonu?

Jak již bylo zmíněno dříve, k této chybě dochází především proto, že v kódu jsou chyby mezer nebo tabulátorů. Protože Python používá procedurální jazyk, může dojít k této chybě, pokud jste správně nevložili karty / mezery. Program může běžet správně, ale pokud interpret tuto chybu najde, zobrazí se chybová zpráva uprostřed. Některé z příčin chyby jsou:

  • V kódu používáte mezery i karty . Pokud jsou oba použity zaměnitelně, nebude tlumočník schopen určit, kterou položku použít.
  • Umístili jste špatnou odrážku. Pokud nebudete postupovat podle odsazení, budete mít tuto chybu nevyhnutelně.
  • Zapomněli jste odsadit složené příkazy jako „if“, „for“, „while“ atd.
  • Zapomněli jste odsadit uživatelem definované funkce nebo třídy .

Řešení 1: Kontrola nesprávných mezer / tabulátorů

Pro tento problém neexistuje okamžitá oprava. Protože kód je váš, musíte projít každý řádek a zjistit, kde jste udělali chybu. Existuje několik bloků v kódu s ohledem na strukturu. Pokud existuje příkaz „If“, je třeba provést odsazení kódu, který za ním následuje.

Vizualizace odsazení blokové struktury

Podívejte se na výše uvedený diagram. Podívejte se, že odsazení pro konkrétní blok zůstává v celém kódu stejné, i když je nový blok vložen uprostřed. Ujistěte se, že vaše odsazení je konzistentní. Pokud používáte mezery, vždy použijte mezery a pokud používáte karty, vždy používejte karty. Smíchání dvou způsobí problémy.

Příklad odsazení

Správné odsazení je uvedeno v příkladu výše. Podívejte se na smyčku 'pro' pro začátek. Všechno uvnitř smyčky „for“ musí být odsazeno. Uvnitř smyčky „for“ máme prohlášení „if“. Uvnitř prohlášení „if“ musí být vše dále odsazeno.

Můžete snadno zkontrolovat, kde došlo k chybě odsazení, kontrolou protokolu chyb a zobrazením řádku, odkud chyba vznikla.

Řešení 2: Povolení symbolů tabulátoru / mezery v editoru

Pokud máte těžko odsazený kód podle odhadu, jako všichni programátoři, můžete v IDE nebo editoru kódu povolit symboly tabulátoru / mezery. Tato volba povolí malé „tečky“ v kódu, kde každý tečka představuje mezeru nebo tabulátor. To můžete použít k řádnějšímu odsazení kódu a ujistěte se, že neexistuje žádná další odrážka nebo že něco chybí.

V tomto příkladu vezmeme Notepad ++ a uvidíme, jak můžete symboly povolit. Pokud pro úpravu kódu používáte jiný software, můžete povolit nastavení specifické pro něj.

  1. Stiskněte View> Show Symbol> Show Whitespace a TAB

    Povolení mezer a tabulátoru - Poznámkový blok ++
  1. Nyní je volba povolena. Můžete také aktivovat Průvodce odsazením, aby vám to všechno usnadnilo.

Ukázkový kód se správným odsazením

Podívejte se na výše uvedený příklad. Podívejte se na odsazení implementované po každé třídě. Každý prostor je reprezentován jednou tečkou. Po provedení změn nesprávného odsazení kódu jej znovu spusťte a zkontrolujte, zda se tím problém nevyřeší.

Zajímavé Články