logo

AttributeError i Python

Vad är ett fel?

I programmeringsspråk, om vi exekverar någon kod på ett ogiltigt sätt, kommer exekveringen av programmet att stoppas med ett meddelande och detta meddelande kallas ett fel eller undantag. Det finns vissa typer av fel i ett programmeringsspråk på grund av olika orsaker. Några av dem är följande:

AssertionError:

Denna typ av fel uppstår när påståendevillkor eller uttalanden misslyckas i koden.

java sträng av array

ImportError:

Det här felet uppstår när vi importerar någon modul i filen och om den modulen inte finns.

IndexError:

Det inträffar när för en sekvens, dess index är utanför intervallet.

KeyError:

Detta fel uppstår i Python när vi inte kan hitta någon nyckel i ordboken.

Namnfel:

Det här felet kan uppstå när vi inte hittar någon variabel i det lokala eller globala omfånget.

RuntimeError:

Detta fel kommer att uppstå när felet inte kan kategoriseras i någon typ.

IndentationError:

När vi använder fel indrag i Python-koden kommer IndentationError att inträffa.

Systemfel:

När det finns ett internt fel kommer SystemError att uppstå av tolken.

UnicodeError:

När det finns ett kodnings- eller avkodningsfel relaterat till Unicode och UnicodeError kommer att uppstå.

ValueError:

När vi är i en funktion skickar vi det korrekta argumentet enligt datatypen, men värdet är inte korrekt, då kallas felet som uppstod ValueError.

ZeroDivisionError:

Som vi vet kan vi i matematik inte dividera något tal med noll eftersom resultatet tenderar till oändlighet. Så om vi har skrivit något påstående om division med noll eller modulo med noll, så kommer felet som uppstår vara ZeroDivisionError.

EOFerror:

När vi använder input()-funktionen för att hämta indata från en fil, och vi når slutet av filen, kommer detta fel att visas för att indikera att vi har nått slutet av filen, och nu kan vi inte ta någon input från filen.

Den här artikeln är främst tillägnad AttributeError.

Vad är AttributeError?

Det här felet uppstår i programmet när det finns ett konditioneringsfel i attributtilldelningen. Till exempel, om vi tilldelar en heltalsvariabel något värde och om vi försöker använda någon strängfunktion från den variabeln, kommer det att höja AttributeError.

Vi kan förstå orsaken till AttributeError i Python genom följande exempel:

c-sträng i array

Exempel 1:

När vi tillämpar en funktion på en annan datatyp vilket inte är möjligt

 a=15 a.append('javatpoint') 

Produktion:

AttributeError i Python

Förklaring:

I koden ovan har vi en heltalsvariabel, och vi har initialiserat den med värdet 15. Om vi ​​nu använder append-funktionen på variabeln a, kommer den att ge AttributeError, som säger att det inte finns något attribut som append i heltalsdatatypen.

Exempel 2:

Det finns risk för AttributeError i fel stavning av attributet.

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

Produktion:

AttributeError i Python

Förklaring:

I koden ovan har vi ett strängattribut, och vi tillämpar attributet fst, så det kommer att finnas AttributeError att detta attribut inte finns för variabeln.

Exempel 3:

Vi kan få AttributeError om vi försöker göra en felaktig referens för någon klassvariabel.

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

Produktion:

lång att snöra
AttributeError i Python

Förklaring:

I ovanstående kod har vi en klass, och det finns en variabel som heter var1. Vi skapar objektet för klassen, och av misstag refererar vi till fel variabel var2 i den klassen som inte ens existerar, så det kommer definitivt att finnas en AttributeError.

Lösningen för att hantera felet eller undantaget:

I Python eller i något programmeringsspråk kan vi använda undantags- eller felhantering med hjälp av try and except-satser.

Exempel 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') 

Produktion:

AttributeError i Python

Förklaring:

I ovanstående kod har vi en klass och en variabel som heter var1. I try-satsen försöker vi referera till var1 och var2. Vi kommer att kunna avreferera var1, och vi kommer att skriva ut uttalandet för det, men vi kommer att få AttributeError för att referera till var2. Så programmet kommer att gå in i except block, och vi kommer att skriva ut uttalandet, som endast är skrivet för feltillståndet.