logo

AttributeError in Python

Wat is een fout?

Als we in programmeertalen code op een ongeldige manier uitvoeren, wordt de uitvoering van het programma gestopt met een bericht. Dit bericht wordt een fout of uitzondering genoemd. Er zijn bepaalde soorten fouten in een programmeertaal vanwege verschillende redenen. Sommigen van hen zijn als volgt:

BeweringFout:

Dit type fout treedt op wanneer beweringsvoorwaarden of -instructies in de code mislukken.

verwijdering uit een binaire zoekboom

Importfout:

Deze fout treedt op wanneer we een module in het bestand importeren en als die module niet bestaat.

Indexfout:

Het treedt op wanneer voor een reeks de index buiten het bereik valt.

Sleutelfout:

Deze fout treedt op in Python als we geen enkele sleutel in het woordenboek kunnen vinden.

NaamFout:

Deze fout kan optreden als we geen enkele variabele in het lokale of globale bereik vinden.

Runtimefout:

Deze fout treedt op als de fout in geen enkel type kan worden gecategoriseerd.

Inspringfout:

Wanneer we de verkeerde inspringing in de Python-code gebruiken, zal IndentationError optreden.

Systeemfout:

Als er een interne fout is, wordt SystemError gegenereerd door de tolk.

Unicodefout:

gelinkte lijst java

Wanneer er een coderings- of decoderingsfout is gerelateerd aan Unicode, wordt UnicodeError gegenereerd.

Waardefout:

Wanneer we in een functie het juiste argument doorgeven volgens het gegevenstype, maar de waarde is niet juist, dan wordt de fout die is opgetreden ValueError genoemd.

ZeroDivisionFout:

Zoals we weten kunnen we in de wiskunde geen enkel getal door nul delen, omdat het resultaat naar oneindig neigt. Dus als we een verklaring hebben geschreven over deling door nul of modulo door nul, dan is de fout ZeroDivisionError.

EOFEout:

Wanneer we de functie input() gebruiken om de invoer uit een bestand te halen, en we bereiken het einde van het bestand, dan zal deze fout optreden om aan te geven dat we het einde van het bestand hebben bereikt, en nu kunnen we er geen invoer uit het bestand.

Dit artikel is voornamelijk gewijd aan AttributeError.

Wat is AttributeError?

Deze fout treedt op in het programma als er een conditioneringsfout optreedt in de attribuuttoewijzing. Als we bijvoorbeeld aan een integer-variabele een bepaalde waarde toekennen en als we een tekenreeksfunctie uit die variabele proberen te gebruiken, wordt de AttributeError verhoogd.

We kunnen de reden voor AttributeError in Python begrijpen aan de hand van de volgende voorbeelden:

Voorbeeld 1:

Wanneer we een functie toepassen op een ander gegevenstype, is dit niet mogelijk

 a=15 a.append('javatpoint') 

Uitgang:

AttributeError in Python

Uitleg:

In de bovenstaande code hebben we één integer-variabele, en we hebben deze geïnitialiseerd met de waarde 15. Als we nu de append-functie gebruiken voor de variabele a, dan geeft deze de AttributeError, die zegt dat er geen attribuut is als append in het gegevenstype geheel getal.

Voorbeeld2:

Er bestaat een kans op AttributeError als het attribuut verkeerd wordt gespeld.

 string = 'you will learn each coding tutorial from '.fst('Javatpoint') print(string) 

Uitgang:

AttributeError in Python

Uitleg:

In de bovenstaande code hebben we een string-attribuut en passen we het fst-attribuut toe, dus er zal AttributeError zijn dat dit attribuut niet bestaat voor de variabele.

Voorbeeld3:

We kunnen de AttributeError krijgen als we proberen een verkeerde verwijzing te maken voor een klassevariabele.

 class Javatpoint(): def __init__(self): self.var1 = 'This is for JavatPoint' obj = Javatpoint() print(obj.var1) print(obj.var2) 

Uitgang:

AttributeError in Python

Uitleg:

In de bovenstaande code hebben we een klasse en is er een variabele met de naam var1. We creëren het object van de klasse en verwijzen per ongeluk naar de verkeerde variabele var2 van die klasse, die zelfs niet bestaat, dus er zal zeker een AttributeError zijn.

De oplossing om de fout of uitzondering aan te pakken:

In Python of in welke programmeertaal dan ook kunnen we uitzonderings- of foutafhandeling gebruiken met behulp van try- enexcept-instructies.

Voorbeeld 4:

 class Javatpoint(): def __init__(self): self.var1 = 'This is for javatpoint' obj = Javatpoint() try: print(obj.var1) print(obj.var2) except AttributeError: print('There is no such attribute') 

Uitgang:

adjunct-commissaris van politie
AttributeError in Python

Uitleg:

In de bovenstaande code hebben we een klasse en een variabele met de naam var1. In de try-instructie proberen we te verwijzen naar de var1 en var2. We zullen de verwijzing naar var1 kunnen verwijderen en we zullen de instructie ervoor afdrukken, maar we krijgen de AttributeError voor het verwijzen naar var2. Het programma gaat dus naar het behalve-blok en we zullen de instructie afdrukken, die alleen voor de foutconditie is geschreven.