Oprava: Chyba odsazení Python



Vyzkoušejte Náš Nástroj Pro Odstranění Problémů

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



Chyba odsazení Python při kódování

Chyba odsazení v Pythonu



Chyba odsazení: Očekával se odsazený blok „Vyskytuje se u nejrůznějších uživatelů; ať už jsou nováčci nebo zkušení. Protože Python uspořádá celý svůj kód podle správných mezer, pokud máte špatné odsazení, kód se nezkompiluje a bude vám vrácena chybová zpráva.



Podle konvencí dodržovaných v PEP8 by tam, kde je to požadováno, měly být čtyři mezery. Pro každého programátora je ideální použít správné odsazení, aby se zlepšila č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ů. Vzhledem k tomu, že Python používá procedurální jazyk, může se vám tato chyba objevit, pokud jste záložky / mezery neumístili správně. Program může fungovat správně, ale pokud tlumočník tuto chybu najde, objeví se chybová zpráva uprostřed. Mezi příčiny chyby patří:

  • Používáte jak mezery, tak záložky ve vašem kódu. Pokud jsou obě používány zaměnitelně, nebude tlumočník schopen určit, kterou položku použít.
  • Umístili jste odsazení špatně . Pokud nebude postup odsazení dodržen, budete mít tuto chybu nevyhnutelně.
  • Zapomněli jste odsadit složené výpisy například „pokud“, „pro“, „zatímco“ atd.
  • Zapomněli jste odsadit uživatelem definované funkce nebo třídy .

Řešení 1: Kontrola chybných bílých mezer / karet

Neexistuje žádná okamžitá oprava tohoto problému. Jelikož je váš kód, 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 prohlášení „If“, musí být v kódu, který za ním následuje, odsazení.



Bloková struktura vizualizující odsazení v Pythonu

Bloková struktura vizualizující odsazení

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 uprostřed zaveden nový blok. Ujistěte se, že vaše odsazení je konzistentní. Pokud používáte mezery, vždy používejte mezery a pokud používáte karty, vždy použijte karty. Smíchání dvou způsobí problémy.

Příklad odsazení v Pythonu

Příklad odsazení

Správné odsazení je uvedeno ve výše uvedeném příkladu. Pro začátečníky viz smyčka „pro“. Všechno uvnitř smyčka „pro“ musí být odsazena. Ve smyčce „pro“ máme prohlášení „pokud“. Uvnitř prohlášení „pokud“ musí být všechno dále odsazený.

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 se vám nedaří odsadit kód pomocí „hádání“, jako to dělají všichni programátoři, můžete povolit symboly tabulátoru / prostoru ve vašem IDE nebo editoru kódu. Tato možnost povolí v kódu malé „tečky“, kde každá tečka představuje mezeru nebo tabulátor. Můžete to použít k řádnějšímu odsazení kódu a ujistěte se, že zde není žádné další odsazení nebo některé chybí.

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

  1. lis Zobrazit> Zobrazit symbol> Zobrazit mezery a TAB Povolení mezer a tabulátoru v Pythonu

    Povolení mezer a tabulátoru - Poznámkový blok ++

  1. Nyní je tato možnost povolena. Můžete také povolit Průvodce odsazením takže se vám vše usnadní.
Ukázkový kód se správným odsazením v Pythonu

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 spusťte jej znovu a zkontrolujte, zda to problém vyřeší.

Značky chyba odsazení krajta 2 minuty čtení