logo

AttributeError i Python

Hva er en feil?

I programmeringsspråk, hvis vi kjører en eller annen kode på en ugyldig måte, vil kjøringen av programmet bli stoppet med en melding og denne meldingen kalles en feil eller unntak. Det er visse typer feil i et programmeringsspråk på grunn av forskjellige årsaker. Noen av dem er som følger:

AssertionError:

Denne typen feil oppstår når påstandsbetingelser eller utsagn mislykkes i koden.

Importerror:

Denne feilen oppstår når vi importerer en modul i filen og hvis den modulen ikke eksisterer.

IndexError:

Det oppstår når indeksen for en hvilken som helst sekvens er utenfor området.

KeyError:

Denne feilen oppstår i Python når vi ikke finner noen nøkkel i ordboken.

NameError:

Denne feilen kan oppstå når vi ikke finner noen variabel i det lokale eller globale omfanget.

RuntimeError:

Denne feilen vil oppstå når feilen ikke kan kategoriseres i noen type.

importer skanner java

Innrykkfeil:

Når vi bruker feil innrykk i Python-koden, vil IndentationError oppstå.

Systemfeil:

Når det er en intern feil, vil SystemError bli reist av tolken.

UnicodeError:

Når det er en kodings- eller dekodingsfeil relatert til Unicode, og UnicodeError vil oppstå.

ValueError:

Når vi er i en funksjon sender vi det riktige argumentet i henhold til datatypen, men verdien er ikke riktig, da kalles feilen som oppstod ValueError.

ZeroDivisionError:

Som vi vet, i matematikk, kan vi ikke dele et tall med null fordi resultatet har en tendens til uendelig. Så hvis vi har skrevet en setning angående divisjon med null eller modulo med null, vil feilen som oppstår være ZeroDivisionError.

EOFeil:

Når vi bruker input()-funksjonen for å få input fra en fil, og vi kommer til slutten av filen, vil denne feilen vises for å indikere at vi har nådd slutten av filen, og nå kan vi ikke ta noen inndata fra filen.

Denne artikkelen er hovedsakelig dedikert til AttributeError.

Hva er AttributeError?

Denne feilen oppstår i programmet når det er en kondisjoneringsfeil i attributttildelingen. For eksempel, hvis vi tilordner en heltallsvariabel en verdi og hvis vi prøver å bruke en hvilken som helst strengfunksjon fra den variabelen, vil den heve AttributeError.

Vi kan forstå årsaken til AttributeError i Python ved følgende eksempler:

Eksempel 1:

Når vi bruker en funksjon på en annen datatype som ikke er mulig

 a=15 a.append('javatpoint') 

Produksjon:

AttributeError i Python

Forklaring:

I koden ovenfor har vi én heltallsvariabel, og vi har initialisert den med verdien 15. Nå, hvis vi bruker append-funksjonen på variabelen a, vil den gi AttributeError, som sier at det ikke er noe attributt som append i heltallsdatatypen.

Eksempel 2:

Det er sjanser for AttributeError i feil stavemåte av attributtet.

zip-kommando i linux
 string = 'you will learn each coding tutorial from '.fst('Javatpoint') print(string) 

Produksjon:

AttributeError i Python

Forklaring:

I koden ovenfor har vi et strengattributt, og vi bruker fst-attributtet, så det vil være AttributeError at dette attributtet ikke eksisterer for variabelen.

Eksempel 3:

Vi kan få AttributeError hvis vi prøver å lage en feil referanse for en klassevariabel.

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

Produksjon:

AttributeError i Python

Forklaring:

I koden ovenfor har vi en klasse, og det er en variabel som heter var1. Vi lager objektet til klassen, og ved en feil refererer vi til feil variabel var2 i den klassen som til og med ikke eksisterer, så det vil definitivt være en AttributeError.

Løsningen for å takle feilen eller unntaket:

I Python eller et hvilket som helst programmeringsspråk kan vi bruke unntaks- eller feilhåndtering ved å bruke try and except-setninger.

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

Produksjon:

AttributeError i Python

Forklaring:

I koden ovenfor har vi en klasse og en variabel som heter var1. I try-setningen prøver vi å referere til var1 og var2. Vi vil kunne avreferere var1, og vi vil skrive ut setningen for den, men vi vil få AttributeError for å referere til var2. Så programmet vil gå inn i unntatt blokk, og vi vil skrive ut setningen, som kun er skrevet for feiltilstanden.