Oplossing: inspringingsfout Python

Python is een opkomende programmeertaal die voor het eerst werd uitgebracht in 1991. De taal staat bekend om zijn grote uitgebreide bibliotheek en ondersteunt verschillende programmeerparadigma's zoals functioneel, imperatief, procedureel en objectgeoriënteerd.

Inspringfout in Python

De ' inspringingsfout: verwacht een ingesprongen blok ' komt voor bij alle soorten gebruikers; of ze nieuwkomers zijn of ervaren. Aangezien Python al zijn code rangschikt op juiste witruimte, wordt de code niet gecompileerd als u een onjuiste inspringing hebt en ontvangt u een foutbericht.

Volgens de conventies die in PEP8 worden gevolgd, moeten er waar nodig vier witruimtes zijn. Het is ideaal voor elke programmeur om de juiste inspringingen te gebruiken, zodat de leesbaarheid van de code verbetert.

Wat veroorzaakt inspringingsfouten in Python?

Zoals eerder vermeld, treedt deze fout voornamelijk op omdat uw code ruimte- of tabfouten bevat. Aangezien Python procedurele taal gebruikt, kan deze fout optreden als u de tabbladen / spaties niet correct hebt geplaatst. Het programma kan correct worden uitgevoerd, maar als de interpreter deze fout vindt, verschijnt de foutmelding in het midden. Enkele oorzaken van de fout zijn:

  • U gebruikt zowel spaties als tabbladen in uw code. Als beide door elkaar worden gebruikt, kan de tolk niet bepalen welk item moet worden gebruikt.
  • Je hebt een streepje verkeerd geplaatst . Als de inspringingspraktijk niet wordt gevolgd, hebt u deze fout onvermijdelijk.
  • U bent vergeten de samengestelde uitspraken te laten inspringen zoals 'if', 'for', 'while' etc.
  • U bent vergeten door de gebruiker gedefinieerde functies of klassen te laten inspringen.

Oplossing 1: Controleren op verkeerde witte spaties / tabbladen

Er is geen onmiddellijke oplossing voor dit probleem. Omdat de code van jou is, moet je door elke regel gaan en kijken waar je de fout hebt gemaakt. Er zijn verschillende blokken in code met betrekking tot de structuur. Als er een 'If'-instructie is, moet er een inspringing zijn op de code die erop volgt.

Blokstructuur visualiseert inspringen

Bekijk het bovenstaande diagram. Zie dat de inspringing voor een specifiek blok in de hele code hetzelfde blijft, zelfs als er in het midden een nieuw blok wordt geïntroduceerd. Zorg ervoor dat uw inspringing consistent is. Gebruik altijd spaties als u spaties gebruikt en gebruik altijd tabs. Het mixen van twee zal problemen veroorzaken.

Voorbeeld inspringen

De juiste inspringing wordt in het bovenstaande voorbeeld getoond. Zie de 'for'-lus voor starters. Alles in de 'for'-lus moet worden ingesprongen. Binnen de 'for'-lus hebben we een' if'-verklaring. Binnen de 'if'-verklaring moet alles verder worden ingesprongen.

U kunt eenvoudig controleren waar de inspringingsfout is opgetreden door het foutenlogboek te controleren en de regel te zien vanwaar de fout is ontstaan.

Oplossing 2: Tab- / spatiesymbolen inschakelen in de editor

Als je moeite hebt om je code te laten inspringen door te 'raden' zoals alle programmeurs doen, kun je de symbolen van tab / spatie in je IDE of code-editor inschakelen. Met deze optie worden kleine 'puntjes' in uw code ingeschakeld waarbij elke punt een spatie of tabblad vertegenwoordigt. U kunt dit gebruiken om code beter te laten inspringen en ervoor te zorgen dat er geen extra inspringing is of dat er iets ontbreekt.

In dit voorbeeld nemen we Notepad ++ en kijken we hoe u de symbolen kunt inschakelen. Als u andere software voor codebewerking gebruikt, kunt u de specifieke instelling inschakelen.

  1. Druk op Beeld> Symbool tonen> Witruimte en TAB tonen

    Witruimte en tabblad inschakelen - Kladblok ++
  1. Nu is de optie ingeschakeld. U kunt ook de Inspringengids inschakelen zodat het u gemakkelijker wordt.

Voorbeeldcode met juiste inspringing

Bekijk het bovenstaande voorbeeld. Zie de inspringing die na elke les is geïmplementeerd. Elke spatie wordt weergegeven door een enkele stip. Nadat u de verkeerde inspringing in uw code hebt aangebracht, voert u deze opnieuw uit en kijkt u of dit het probleem oplost.

Interessante Artikelen