Javítás: Behúzási hiba Python



Próbálja Ki A Műszerünket A Problémák Kiküszöbölésére

A Python egy feltörekvő programozási nyelv, amelyet először 1991-ben adtak ki. A nyelv nagy átfogó könyvtáráról ismert, é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

Behúzási hiba a Pythonban



A ' Behúzási hiba: Behúzott blokkot várt ’Mindenféle felhasználó számára előfordul; akár újoncok, 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 le, é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, előfordulhat ez a hiba, 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 a következők:

  • Ön használja szóközök és fülek egyaránt a kódodban. Ha mindkettőt felcserélhetően használják, akkor a tolmács nem tudja meghatározni, hogy melyik elemet használja.
  • Helyeztél valamilyen behúzást rossz . Ha nem alkalmazzák a behúzási gyakorlatot, akkor ez a hiba elkerülhetetlenül bekövetkezik.
  • Elfelejtette behúzni a összetett állítások mint például „ha”, „ért”, „míg” stb.
  • Elfelejtetted behúzni a felhasználó által definiált függvények vagy osztályok .

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

A behúzást megjelenítő blokkszerkezet

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

Behúzási példa

A helyes behúzás a fenti példában látható. Lásd a kezdők számára a „for” ciklust. Minden belül behúzni kell a „for” hurkot. A „for” cikluson belül van egy „if” utasítás. Az „ha” állításon belül mindennek lennie kell további behúzott.

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 viszi be 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élyezheti 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 Nézet> Szimbólum megjelenítése> A szóköz és a TAB megjelenítése A Whitespace és a Tab engedélyezése a Pythonban

    A szóköz és a Tab engedélyezése - Jegyzettömb ++

  1. Most az opció engedélyezve van. Engedélyezheti a Behúzási útmutató így a dolgok könnyebbé válnak az Ön számára.
Minta kód helyes behúzással a Pythonban

Minta kód helyes behúzással

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.

Címkék behúzási hiba piton 2 perc olvasás