Fix: Indentationsfel 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, tvingande, procedurella och objektorienterade.

Indentationsfel Python under kodning

' Indragningsfel: förväntas ett indragat block ' förekommer för alla slags användare; oavsett om de är nybörjare eller erfarna. Eftersom Python ordnar all sin kod med korrekta blanksteg, kommer du inte att kompilera koden om du har en dålig fördjupning och du får ett felmeddelande.

Enligt de konventioner som följs i PEP8 bör det finnas fyra vita utrymmen där det krävs. Det är perfekt för alla programmerare att använda korrekta fördjupningar så kodläsbarheten förbättras.

Vad orsakar indenteringsfel i Python?

Som tidigare nämnts inträffar detta fel främst 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 fungera ordentligt men om tolken hittar detta fel kommer felmeddelandet fram 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 kommer inte tolk att kunna avgöra vilket objekt som ska användas.
  • Du har placerat något inslag fel . Om indragningen inte följs kommer du oundvikligen att ha detta fel.
  • Du glömde att dra in de sammansatta påståendena som "om", "för", "medan" etc.
  • Du har glömt att dra in användardefinierade funktioner eller klasser .

Lösning 1: Kontrollerar om det finns fel blanksteg / flikar

Det finns ingen omedelbar fix för detta problem. Eftersom koden är din måste du gå igenom varje rad och se var du gjorde misstaget. Det finns flera block i kod med avseende på strukturen. Om det finns ett "If" -uttalande måste det finnas en fördjupning i koden som följer den.

Blockstruktur som visualiserar indrag i Python

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

Indragningsexempel i Python

Korrekt indragning visas i exemplet ovan. Se "för" -slingan för att börja. Allt inne i 'för' loop måste indragen. Inuti "för" -slingan har vi ett "om" -uttalande. Inuti 'if' -uttalandet måste allt fördjupas ytterligare .

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

Lösning 2: Aktivera flik- / mellansymboler i redigeraren

Om du har svårt att dra in din kod genom att "gissa" som alla programmerare kan du aktivera symbolerna för flik / mellanslag i din IDE eller kodredigerare. Detta alternativ aktiverar små "prickar" i din kod där varje punkt representerar ett mellanslag eller en flik. Du kan använda detta för att dra in koden mer korrekt och se till att det inte finns något extra indrag eller 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 den inställning som är specifik för den.

  1. Tryck på Visa> Visa symbol> Visa mellanslag och TABAktivera mellanslag och flik i Python
  1. Nu är alternativet aktiverat. Du kan också aktivera Indent Guide så att saker blir enklare för dig.
Exempelkod med rätt indrag i Python

Kontrollera exemplet ovan. Se fördjupningen implementerad efter varje lektion. Varje mellanslag representeras av en enda punkt. Efter att ha gjort ändringar i fel indrag på din kod, kör den igen och se om detta löser problemet.

Rekommenderas

Fix: Minecraft svarar inte
Vad är en ansökan om registrering av digital-TV-mottagare och bör den tas bort?
Vad är FileRepMalware och ska du ta bort det