Fix: 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.

Inspringingsfout Python tijdens het coderen

De ' Inspringfout: Verwacht een ingesprongen blok ' doet zich voor bij alle soorten gebruikers; of ze nu nieuwkomers zijn of ervaren. Aangezien Python al zijn code in de juiste witruimten rangschikt, zal de code niet compileren als je een slechte inspringing hebt en krijg je een foutmelding.

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

Wat veroorzaakt een inspringfout in Python?

Zoals eerder vermeld, treedt deze fout voornamelijk op omdat er ruimte- of tab-fouten in uw code zitten. Omdat Python procedurele taal gebruikt, kan deze fout optreden als u de tabs / spaties niet correct hebt geplaatst. Het programma werkt mogelijk correct, maar als de tolk deze fout vindt, verschijnt de foutmelding in het midden. Enkele van de oorzaken van de fout zijn:

  • U gebruikt zowel spaties als tabs in uw code. Als beide door elkaar worden gebruikt, kan de tolk niet bepalen welk item hij moet gebruiken.
  • U heeft een streepje verkeerd geplaatst . Als de inspringpraktijk niet wordt gevolgd, krijgt u deze fout onvermijdelijk.
  • U bent vergeten de samengestelde instructies zoals 'als', 'voor', 'terwijl' enz. In te laten springen.
  • U bent vergeten door de gebruiker gedefinieerde functies of klassen te laten inspringen .

Oplossing 1: controleren op verkeerde witruimten / tabbladen

Er is geen onmiddellijke oplossing voor dit probleem. Omdat de code van jou is, moet je elke regel doorlopen om te zien 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 in de code die erop volgt.

Blokstructuur die inspringing in Python visualiseert

Bekijk het bovenstaande diagram. Zorg ervoor 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. Als u spaties gebruikt, gebruik dan altijd spaties en als u tabbladen gebruikt, gebruik dan altijd tabbladen. Het mengen van twee zal problemen veroorzaken.

Inspringingsvoorbeeld in Python

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

U kunt gemakkelijk controleren waar de inspringingsfout is opgetreden door het foutenlogboek te controleren en de regel te zien waar de fout vandaan kwam.

Oplossing 2: tab- / spatiesymbolen inschakelen in de editor

Als je het moeilijk vindt om je code met 'gok' in te laten springen, zoals alle programmeurs doen, kun je de symbolen van tab / spatie inschakelen in je IDE of code-editor. Met deze optie worden kleine 'puntjes' in uw code ingeschakeld, waarbij elke punt een spatie of tab 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 hoe u de symbolen kunt inschakelen. Als u andere software gebruikt voor het bewerken van de code, kunt u de specifieke instelling daarvoor inschakelen.

  1. Druk op Beeld> Symbool tonen> Witruimte tonen en TABWitruimte en tab inschakelen in Python
  1. Nu is de optie ingeschakeld. U kunt ook de inspringgids inschakelen, zodat het u gemakkelijker wordt.
Voorbeeldcode met de juiste inspringing in Python

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

Aanbevolen

Oplossing: Minecraft reageert niet
Wat is de registratietoepassing voor een digitale tv-tuner en moet deze worden verwijderd?
Wat is FileRepMalware en moet u het verwijderen?