Fix: Inspringingsfout Python



Probeer Ons Instrument Voor Het Oplossen Van Problemen

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

Inspringfout in Python



De ' Inspringfout: verwachtte een ingesprongen blok ’Komt voor voor alle soorten gebruikers; of ze nu nieuwkomers zijn of ervaren. Omdat 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 inkepingen 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:

  • Je gebruikt zowel spaties als tabbladen in uw code. Als beide door elkaar worden gebruikt, kan de tolk niet bepalen welk item hij moet gebruiken.
  • U heeft een streepje geplaatst mis . Als de inspringingspraktijk niet wordt gevolgd, krijgt u deze fout onvermijdelijk.
  • U bent vergeten de samengestelde verklaringen zoals ‘als’, ‘voor’, ‘terwijl’ enz.
  • Je bent vergeten in te springen door de gebruiker gedefinieerde functies of klassen .

Oplossing 1: controleren op verkeerde witruimten / tabbladen

Er is geen onmiddellijke oplossing voor dit probleem. Aangezien de code van jou is, moet je elke regel doorlopen 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 de code die erop volgt, worden ingesprongen.



Blokstructuur die inspringing in Python visualiseert

Blokstructuur die de inspringing 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

Inspringingsvoorbeeld

De juiste inspringing wordt getoond in het bovenstaande voorbeeld. Zie de ‘voor’ lus om te beginnen. Alles binnen de ‘for’ -lus moet worden ingesprongen. Binnen de ‘for’ -lus hebben we een ‘if’ -verklaring. Binnen de ‘if’ -verklaring moet alles zijn verder 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 u het moeilijk vindt om uw code met ‘raden’ te laten inspringen, zoals alle programmeurs doen, kunt u de symbolen van tab / spatie inschakelen in uw IDE of code-editor. Met deze optie worden kleine ‘stippen’ in uw code ingeschakeld, waarbij elke stip 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 en TAB tonen Witruimte en tab inschakelen in Python

    Witruimte en tab inschakelen - Notepad ++

  1. Nu is de optie ingeschakeld. U kunt ook het Gids voor inspringen zodat het gemakkelijker voor je wordt.
Voorbeeldcode met de juiste inspringing in Python

Voorbeeldcode met de juiste inspringing

Bekijk het bovenstaande voorbeeld. Zie de inspringing die na elke les is geïmplementeerd. 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.

Tags inspringingsfout Python 2 minuten gelezen