Fix: Indenteringsfel Python

Python är ett framväxande programmeringsspråk som släpptes första gången 1991. Språket är känt för sitt stora omfattande bibliotek och stöder flera programmeringsparadigmer som funktionella, nödvändiga, procedurella och objektorienterade.

Indikationsfel i Python

" Indenteringsfel: Förväntat ett intryckt block " uppstår för alla typer av användare; vare sig de är nybörjare eller erfarna. Eftersom Python ordnar all sin kod med korrekta blanksteg, om du har en dålig indragning, kommer inte koden att sammanställas och du får ett felmeddelande.

Enligt de konventioner som följs i PEP8 bör det finnas fyra vita områden där så krävs. Det är idealiskt för alla programmerare att använda korrekt intryck så kodläsbarheten förbättras.

Vad orsakar Indenteringsfel i Python?

Som nämnts tidigare inträffar detta fel primärt eftersom det finns utrymme eller flikfel i din kod. Eftersom Python använder procedurspråk kan du uppleva detta fel om du inte har placerat flikarna / mellanslagen korrekt. Programmet kan köra ordentligt men om tolkar hittar detta fel kommer felmeddelandet att visas i mitten. Några av orsakerna till felet är:

  • Du använder både mellanslag och flikar i din kod. Om båda används omväxlande kan tolkaren inte bestämma vilken artikel som ska användas.
  • Du har placerat något strecksats fel . Om indragningspraxis inte följs har du det här felet oundvikligen.
  • Du har glömt att strecksatserna som "om", "för", "medan" osv.
  • Du har glömt att fördriva användardefinierade funktioner eller klasser .

Lösning 1: Kontrollera för fel vita mellanrum / flikar

Det finns ingen omedelbar fix för det här problemet. Eftersom koden är din måste du gå igenom varje rad och se var du har gjort misstaget. Det finns flera block i kod med avseende på strukturen. Om det finns ett "If" -uttalande måste det vara en indragning till koden som följer den.

Blockstruktur som visualiserar intryck

Kolla in diagrammet ovan. Se att indragningen för ett specifikt block förblir densamma genom hela koden, även om ett nytt block införs i mitten. Se till att din intryck är konsekvent. Om du använder mellanslag använder du alltid mellanslag och om du använder flikar ska du alltid använda flikar. Blandning av två kommer att orsaka problem.

Intrycksexempel

Korrekt intryck visas i exemplet ovan. Se "för" -slingan till att börja med. Allt inuti "för" -slingan måste vara intryckt. Inuti "för" -slingan har vi ett "if" -uttalande. Inuti "if" -uttalandet måste allt vara intryckt.

Du kan enkelt kontrollera var indragningsfelet inträffade genom att kontrollera felloggen och se raden från var felet härstammar.

Lösning 2: Aktivera flik / mellansymboler i redigeraren

Om du har svårt att lägga in din kod med "gissa" som alla programmerare gör, kan du aktivera symbolerna för flik / utrymme i din IDE eller kodredigerare. Det här alternativet aktiverar små "prickar" i din kod där varje punkt representerar ett mellanrum eller en flik. Du kan använda den här för att fördjupa koden mer korrekt och se till att det inte finns något extra strecksats eller att något saknas.

I det här exemplet tar vi Notepad ++ och ser hur du kan aktivera symbolerna. Om du använder en annan programvara för kodredigering kan du aktivera inställningen som är specifik för den.

  1. Tryck på Visa> Visa symbol> Visa vitrum och TAB

    Aktivera Whitespace och Tab - Notepad ++
  1. Nu är alternativet aktiverat. Du kan också aktivera Indent Guide så att saker blir lättare för dig.

Provkod med korrekt intryck

Kontrollera exemplet ovan. Se indragningen implementerad efter varje klass. Varje utrymme representeras av en enda punkt. När du har gjort ändringar i fel intryck på din kod, kör den igen och se om detta löser problemet.

Intressanta Artiklar