Oprava: Chyba odsadenia Python

Python je novo vznikajúci programovací jazyk, ktorý bol prvýkrát vydaný v roku 1991. Jazyk je známy pre svoju rozsiahlu komplexnú knižnicu a podporuje niekoľko programovacích paradigiem, ako sú funkčné, imperatívne, procedurálne a objektovo orientované.

Chyba odsúdenia v Pythone

Odsadenie Chyba: Očakáva sa odsadený blok “ sa vyskytuje pre všetky druhy používateľov; či sú začiatočníci alebo skúsení. Pretože Python celý jeho kód usporiada správnymi medzerami, ak máte zlé odsadenie, kód sa nezkompiluje a zobrazí sa chybová správa.

Podľa konvencií používaných v PEP8 by tam, kde je to potrebné, mali byť štyri medzery. Je ideálne pre každého programátora, aby používal správne odsadenia, aby sa zlepšila čitateľnosť kódu.

Čo spôsobuje chybu odsadenia v Pythone?

Ako už bolo spomenuté vyššie, táto chyba sa vyskytuje predovšetkým preto, že v kóde sú medzery alebo chyby na karte. Keďže Python používa procedurálny jazyk, môže sa vyskytnúť táto chyba, ak ste správne nevložili záložky / medzery. Program môže bežať správne, ale ak tlmočník zistí túto chybu, chybové hlásenie sa objaví v strede. Niektoré z príčin chyby sú:

  • Vo svojom kóde používate medzery aj karty . Ak sa obe používajú zameniteľne, tlmočník nebude schopný určiť, ktorá položka sa má použiť.
  • Umiestnili ste nesprávne odsadenie. Ak sa postup pri odsadení nerešpektuje, táto chyba sa nevyhnutne vyskytne.
  • Zabudli ste odsadiť zložené príkazy ako „if“, „for“, „while“ atď.
  • Zabudli ste odsadiť užívateľom definované funkcie alebo triedy .

Riešenie 1: Kontrola nesprávnych medzier / tabuliek

Pre tento problém neexistuje okamžitá oprava. Pretože kód je váš, musíte prejsť každým riadkom a zistiť, kde ste urobili chybu. Existuje niekoľko blokov v kóde vzhľadom na štruktúru. Ak existuje vyhlásenie „If“, je potrebné odsadiť kód, ktorý za ním nasleduje.

Vizualizácia odsadenia blokovej štruktúry

Pozrite sa na vyššie uvedenú schému. Vidíte, že odsadenie pre konkrétny blok zostáva v celom kóde rovnaké, aj keď je nový blok vložený v strede. Uistite sa, že sú vaše odsadenia konzistentné. Ak používate medzery, vždy použite medzery a ak používate karty, vždy použite karty. Zmiešanie dvoch spôsobí problémy.

Príklad odsadenia

Správne odsadenie je uvedené v príklade vyššie. Pozrite si slučku 'for' pre začiatočníkov. Všetko vo vnútri slučky „for“ musí byť odsadené. Vo vnútri slučky „for“ máme vyhlásenie „if“. Vo vyhlásení „ak“ musí byť všetko odsadené ďalej .

Môžete ľahko skontrolovať, kde sa vyskytla chyba odsadenia, skontrolovaním protokolu chýb a zobrazením riadku, odkiaľ chyba vznikla.

Riešenie 2: Povolenie tabulátora / medzery v editore

Ak máte problémy s odsadením kódu pomocou odhadu, ako to robia všetci programátori, môžete v IDE alebo editori kódov povoliť symboly tabulátora / medzery. Táto možnosť povolí malé „bodky“ vo vašom kóde, kde každý bod predstavuje medzeru alebo kartu. Môžete to použiť na presnejšie odsadenie kódu a uistite sa, že neexistuje žiadna ďalšia zarážka alebo že nejaká chýba.

V tomto príklade vezmeme program Notepad ++ a uvidíme, ako môžete symboly povoliť. Ak na úpravu kódu používate iný softvér, môžete povoliť špecifické nastavenie.

  1. Stlačte View> Show Symbol> Show Whitespace a TAB

    Povolenie medzier a tabulátora - Poznámkový blok ++
  1. Teraz je táto voľba povolená. Môžete tiež povoliť Sprievodcu odsadením, aby sa vám veci zjednodušili.

Vzorový kód so správnym odsadením

Skontrolujte príklad uvedený vyššie. Pozrite si odsadenie implementované po každej triede. Každý priestor je reprezentovaný jednou bodkou. Po vykonaní zmien nesprávneho odsadenia kódu ho znova spustite a skontrolujte, či sa tým problém nevyrieši.

Zaujímavé Články