Python je rozvíjajúci sa programovací jazyk, ktorý bol prvýkrát uvedený na trh v roku 1991. Jazyk je známy svojou rozsiahlou komplexnou knižnicou a podporuje niekoľko programovacích paradigiem, ako sú funkčné, imperatívne, procedurálne a objektové.
„ Chyba odsadenia: Očakáva sa odsadený blok “ sa vyskytuje u všetkých druhov používateľov; či už sú nováčikmi alebo skúsenými. Pretože Python usporiada všetok svoj kód do správnych medzier, ak máte zlé odsadenie, kód sa nezkompiluje a vráti sa vám chybové hlásenie.
Podľa dohovorov, ktoré sa dodržiavajú v dokumente PEP8, by mali byť podľa potreby štyri biele medzery. Pre každého programátora je ideálne použiť správne odsadenie, aby sa zlepšila čitateľnosť kódu.
Čo spôsobuje chybu odsadenia v Pythone?
Ako už bolo spomenuté vyššie, k tejto chybe primárne dochádza, pretože v kóde sú chyby medzery alebo tabulátora. Pretože Python používa procedurálny jazyk, môže sa vám táto chyba vyskytnúť, ak ste tabulátory / medzery nevložili správne. 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ú:
- V kóde používate medzery aj tabulátory . Ak sa obidve používajú zameniteľne, tlmočník nebude schopný určiť, ktorá položka sa má použiť.
- Zaradili ste nesprávne odsadenie . Ak nebude postup odsadenia dodržaný, budete mať nevyhnutne túto chybu.
- Zabudli ste odsadiť zložené výroky ako „ak“, „pre“, „zatiaľ čo“ atď.
- Zabudli ste odsadiť užívateľom definované funkcie alebo triedy .
Riešenie 1: Kontrola chybných medzier / tabulátorov
Neexistuje okamžitá oprava tohto problému. Pretože je váš kód, 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 „Ak“, musí byť za kódom, ktorý za ním nasleduje, odsadenie.
Skontrolujte diagram vyššie. Uvidíte, že odsadenie pre konkrétny blok zostáva v celom kóde rovnaké, aj keď je v strede vložený nový blok. Uistite sa, že je vaše odsadenie konzistentné. Ak používate medzery, vždy používajte medzery a ak používate karty, vždy používajte karty. Ich zmiešanie spôsobí problémy.
Správne odsadenie je uvedené v príklade vyššie. Začiatočníkov nájdete v slučke „pre“. Všetko vo vnútri slučky „pre“ musí byť odsadené. Vo vnútri slučky „pre“ máme vyhlásenie „keby“. Vo vyhlásení „ak“ musí byť všetko ďalej odsadené.
Ľahko môžete skontrolovať, kde došlo k chybe odsadenia, a to tak, že skontrolujete protokol chýb a uvidíte riadok, z ktorého chyba pochádza.
Riešenie 2: Povolenie symbolov tabulátora / medzery v editore
Ak máte problém s odsadením kódu pomocou „hádania“, ako to robia všetci programátori, môžete vo svojom IDE alebo editore kódu povoliť symboly tabulátora / priestoru. Táto možnosť umožní vo vašom kóde malé „bodky“, kde každá bodka predstavuje medzeru alebo kartu. Môžete to použiť na dôkladnejšie odsadenie kódu a na zaistenie, že tam nie je žiadne ďalšie odsadenie alebo niektoré chýbajú.
V tomto príklade si vezmeme program Poznámkový blok ++ a ukážeme si, ako môžete povoliť symboly. Ak na úpravu kódu používate iný softvér, môžete povoliť špecifické nastavenie.
- Stlačte Zobraziť> Zobraziť symbol> Zobraziť medzery a TAB
- Teraz je táto možnosť povolená. Môžete tiež povoliť Sprievodcu odsadením, aby sa vám veci uľahčili.
Skontrolujte príklad vyššie. Pozrite si odsadenie implementované po každej triede. Každý priestor je reprezentovaný jednou bodkou. Po vykonaní zmien v nesprávnom odsadení kódu ho znova spustite a skontrolujte, či sa tým problém vyrieši.