logo

AttributeError i Python

Hvad er en fejl?

I programmeringssprog, hvis vi udfører en eller anden kode på en ugyldig måde, vil udførelsen af ​​programmet blive stoppet med en besked, og denne besked kaldes en fejl eller undtagelse. Der er visse typer fejl i et programmeringssprog på grund af forskellige årsager. Nogle af dem er som følger:

AssertionError:

Denne type fejl opstår, når påstandsbetingelser eller udsagn fejler i koden.

Importfejl:

Denne fejl opstår, når vi importerer et modul i filen, og hvis dette modul ikke eksisterer.

Indeksfejl:

Det opstår, når dens indeks for en hvilken som helst sekvens er uden for området.

KeyError:

Denne fejl opstår i Python, når vi ikke kan finde nogen nøgle i ordbogen.

Navnefejl:

Denne fejl kan opstå, når vi ikke finder nogen variabel i det lokale eller globale omfang.

RuntimeError:

Denne fejl vil blive rejst, når fejlen ikke kan kategoriseres i nogen type.

import scanner java

Indrykningsfejl:

Når vi bruger den forkerte indrykning i Python-koden, opstår IndentationError.

Systemfejl:

Når der er en intern fejl, vil SystemError blive rejst af tolken.

UnicodeError:

Når der er en kodnings- eller afkodningsfejl relateret til Unicode, vil UnicodeError blive rejst.

ValueError:

Når vi er i en funktion, sender vi det korrekte argument i henhold til datatypen, men værdien er ikke korrekt, så kaldes den opståede fejl ValueError.

ZeroDivisionError:

Som vi ved, kan vi i matematik ikke dividere noget tal med nul, fordi resultatet har en tendens til uendelig. Så hvis vi har skrevet en erklæring om division med nul eller modulo med nul, så vil fejlen være ZeroDivisionError.

EOFejl:

Når vi bruger input()-funktionen til at hente input fra en fil, og vi når til slutningen af ​​filen, så vil denne fejl blive rejst for at indikere, at vi er nået til slutningen af ​​filen, og nu kan vi ikke tage nogen input fra filen.

Denne artikel er hovedsageligt dedikeret til AttributeError.

Hvad er AttributeError?

Denne fejl opstår i programmet, når der er en konditioneringsfejl i attributtildelingen. For eksempel, hvis vi tildeler en heltalsvariabel en eller anden værdi, og hvis vi forsøger at bruge en hvilken som helst strengfunktion fra den variabel, vil den hæve AttributeError.

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

Eksempel 1:

Når vi anvender en funktion på en anden datatype, hvilket ikke er muligt

 a=15 a.append('javatpoint') 

Produktion:

AttributeError i Python

Forklaring:

I ovenstående kode har vi én heltalsvariabel, og vi har initialiseret den med værdien 15. Hvis vi nu bruger append-funktionen på variablen a, så vil den give AttributeError, som siger, at der ikke er nogen attribut som append i heltalsdatatypen.

Eksempel 2:

Der er chancer for AttributeError i forkert stavning af attributten.

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

Produktion:

AttributeError i Python

Forklaring:

I ovenstående kode har vi en string-attribut, og vi anvender fst-attributten, så der vil være AttributeError, at denne attribut ikke eksisterer for variablen.

Eksempel 3:

Vi kan få AttributeError, hvis vi forsøger at lave en forkert reference for en klassevariabel.

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

Produktion:

AttributeError i Python

Forklaring:

I ovenstående kode har vi en klasse, og der er en variabel ved navn var1. Vi opretter objektet for klassen, og ved en fejl henviser vi til den forkerte variabel var2 i den klasse, som endda ikke eksisterer, så der vil helt sikkert være en AttributeError.

Løsningen til at tackle fejlen eller undtagelsen:

I Python eller i et hvilket som helst programmeringssprog kan vi bruge undtagelses- eller fejlhåndtering ved hjælp af try and except-sætninger.

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

Produktion:

AttributeError i Python

Forklaring:

I ovenstående kode har vi en klasse og en variabel ved navn var1. I try-sætningen forsøger vi at henvise til var1 og var2. Vi vil være i stand til at dereferere var1, og vi vil udskrive erklæringen for det, men vi får AttributeError for at referere til var2. Så programmet går ind i undtagen blok, og vi udskriver erklæringen, som kun er skrevet for fejltilstanden.