Javítás: Indentation Error Python

A Python egy feltörekvő programozási nyelv, amelyet először 1991-ben adtak ki. A nyelv ismert átfogó könyvtáráról, és számos programozási paradigmát támogat, például funkcionális, imperatív, eljárási és objektum-orientált.

Indentation Error Python kódolás közben

A „ Behúzási hiba: behúzott blokkot várt ” mindenféle felhasználónál előfordul; akár kezdők, akár tapasztaltak. Mivel a Python az összes kódját helyes szóközökkel rendezi, ha rossz behúzással rendelkezik, a kód nem fordul össze, és hibaüzenetet kap.

A PEP8-ban követett egyezmények szerint szükség esetén négy szóköznek kell lennie. Minden programozó számára ideális a megfelelő behúzások használata, így a kód olvashatósága javul.

Mi okozza a behatolási hibát a Pythonban?

Mint korábban említettük, ez a hiba elsősorban azért fordul elő, mert a kódban szóköz vagy tab hiba található. Mivel a Python eljárási nyelvet használ, ezt a hibát tapasztalhatja, ha nem megfelelően helyezte el a füleket / szóközöket. Lehet, hogy a program megfelelően fut, de ha az értelmező megtalálja ezt a hibát, a hibaüzenet középen jelenik meg. A hiba okai:

  • Szóközöket és tabulátorokat egyaránt használ a kódban. Ha mindkettőt felcserélhetően használják, akkor a tolmács nem tudja meghatározni, hogy melyik elemet használja.
  • Helytelenül helyezett be valamilyen behúzást . Ha nem alkalmazzák a behúzási gyakorlatot, akkor ez a hiba elkerülhetetlenül bekövetkezik.
  • Elfelejtette behúzni az összetett mondatokat , például: „ha”, „a”, a „míg” stb.
  • Elfelejtette behúzni a felhasználó által definiált függvényeket vagy osztályokat .

1. megoldás: Helytelen szóközök / fülek ellenőrzése

A probléma nem oldható meg azonnal. Mivel a kód a tiéd, végig kell menned minden sort, és meg kell nézned, hol hibáztál. A szerkezettel kapcsolatban több blokk van kódban. Ha van 'If' utasítás, akkor be kell vezetni a kódot, amely követi azt.

Blokkszerkezet, amely megjeleníti a mélyedést a Pythonban

Nézze meg a fenti ábrát. Lásd, hogy egy adott blokk behúzása ugyanaz marad a kódban, még akkor is, ha új blokkot vezetünk be a közepén. Ügyeljen arra, hogy a behúzása következetes legyen. Ha szóközt használ, akkor mindig használjon szóközt, és ha füleket használ, akkor mindig használja a füleket. Kettő keverése problémákat okoz.

Behúzási példa a Pythonban

A helyes behúzás a fenti példában látható. Az indítókért lásd a 'for' ciklust. A 'for' hurokban belül mindent be kell húzni. A „for” cikluson belül van egy „ha” utasítás. A „ha” nyilatkozatban mindent tovább kell behúzni.

Könnyedén ellenőrizheti, hogy a behúzási hiba hol történt, ellenőrizve a hibanaplót, és megnézve azt a sort, ahonnan a hiba keletkezett.

2. megoldás: A tab / szó szimbólumok engedélyezése a szerkesztőben

Ha nehezen tudja behúzni a kódját „tippeléssel”, mint minden programozó, akkor engedélyezheti a tab / szó szimbólumait az IDE-ben vagy a kódszerkesztőben. Ez az opció kis „pontokat” engedélyez a kódban, ahol minden egyes pont szóközt vagy fület jelöl. Használhatja ezt a kód megfelelőbb behúzására, és győződjön meg arról, hogy nincs extra behúzás, vagy hiányzik néhány.

Ebben a példában a Notepad ++ programot vesszük figyelembe, és megtudhatjuk, hogyan engedélyezhetjük a szimbólumokat. Ha másik szoftvert használ a kódszerkesztéshez, engedélyezheti a hozzá tartozó beállítást.

  1. Nyomja meg a Nézet> Szimbólum megjelenítése> A szóköz és a TAB megjelenítése menüpontotA Whitespace és a Tab engedélyezése a Pythonban
  1. Most az opció engedélyezve van. Engedélyezheti a Behúzás útmutatót is, így könnyebbé válik a dolga.
Minta kód helyes behúzással a Pythonban

Ellenőrizze a fenti példát. Lásd az egyes osztályok után bevezetett behúzást. Minden helyet egyetlen pont képvisel. Miután megváltoztatta a kód hibás behúzását, futtassa újra és nézze meg, hogy ez megoldja-e a problémát.