logo

AttributeError Python

Kas yra klaida?

Programavimo kalbose, jei kurį nors kodą vykdome netinkamai, programos vykdymas bus sustabdytas pranešimu ir šis pranešimas vadinamas klaida arba išimtimi. Yra tam tikrų tipų klaidų programavimo kalboje dėl skirtingų priežasčių. Kai kurie iš jų yra tokie:

AssertionError:

Šio tipo klaida atsiranda, kai kode sugenda tvirtinimo sąlygos arba teiginiai.

charatas eilutėje

Importavimo klaida:

Ši klaida atsiranda, kai importuojame kokį nors modulį faile ir jei to modulio nėra.

Indekso klaida:

Tai atsitinka, kai bet kurios sekos indeksas yra už diapazono ribų.

Key Error:

Ši klaida iškyla Python, kai žodyne nerandame jokio rakto.

Vardo klaida:

Ši klaida gali įvykti, kai nerandame jokio kintamojo vietinėje ar visuotinėje srityje.

Klaida:

Ši klaida bus iškelta, kai klaidos negalima priskirti jokiam tipui.

Įtraukimo klaida:

Kai naudosime netinkamą įtrauką Python kode, įvyks IndentationError.

Sistemos klaida:

Kai įvyksta vidinė klaida, vertėjas iškels SystemError.

Unikodo klaida:

Kai yra kodavimo arba dekodavimo klaida, susijusi su Unicode ir UnicodeError bus iškeltas.

Vertės klaida:

Kai funkcijoje perduodame teisingą argumentą pagal duomenų tipą, bet reikšmė netinkama, tada įvykusi klaida vadinama ValueError.

ZeroDivisionError:

Kaip žinome, matematikoje negalime padalyti bet kurio skaičiaus iš nulio, nes rezultatas linkęs į begalybę. Taigi, jei parašėme bet kokį teiginį dėl padalijimo iš nulio arba modulio iš nulio, tada iškelta klaida bus ZeroDivisionError.

EOFEklaida:

Kai naudojame funkciją input() norėdami gauti įvestį iš failo ir pasiekiame failo pabaigą, tada ši klaida bus iškelta, kad parodytų, kad pasiekėme failo pabaigą ir dabar negalime priimti jokio įvestis iš failo.

Šis straipsnis daugiausia skirtas AttributeError.

Kas yra AttributeError?

Ši klaida programoje įvyksta, kai atributo priskyrime yra kondicionavimo gedimas. Pavyzdžiui, jei sveikajam kintamajam priskirsime kokią nors reikšmę ir bandysime panaudoti bet kurią to kintamojo eilutės funkciją, tai padidins AttributeError.

„AttributeError“ „Python“ priežastį galime suprasti pagal šiuos pavyzdžius:

momentinė java

1 pavyzdys:

Kai taikome funkciją kitam duomenų tipui, o tai neįmanoma

 a=15 a.append('javatpoint') 

Išvestis:

AttributeError Python

Paaiškinimas:

Aukščiau pateiktame kode turime vieną sveikojo skaičiaus kintamąjį ir inicijavome jį reikšme 15. Jei kintamajame a naudosime funkciją append, ji duos AttributeError, kuri sako, kad nėra atributo kaip pridėti. sveikojo skaičiaus duomenų tipe.

2 pavyzdys:

Yra tikimybė, kad neteisingai parašius atributą, „AttributeError“.

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

Išvestis:

AttributeError Python

Paaiškinimas:

Aukščiau pateiktame kode turime eilutės atributą ir taikome fst atributą, todėl atsiras AttributeError, kad šio atributo kintamajam nėra.

3 pavyzdys:

Galime gauti AttributeError, jei bandysime pateikti neteisingą bet kurio klasės kintamojo nuorodą.

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

Išvestis:

java labas pasaulis
AttributeError Python

Paaiškinimas:

Aukščiau pateiktame kode turime klasę ir yra kintamasis, pavadintas var1. Sukuriame klasės objektą ir per klaidą nurodome neteisingą tos klasės kintamąjį var2, kurio net nėra, todėl tikrai bus AttributeError.

Klaidos ar išimties sprendimas:

„Python“ arba bet kurioje programavimo kalboje galime naudoti išimčių arba klaidų tvarkymą naudodami try ir išskyrus teiginius.

4 pavyzdys:

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

Išvestis:

AttributeError Python

Paaiškinimas:

Aukščiau pateiktame kode turime klasę ir kintamąjį pavadinimu var1. Teiginyje try bandome nurodyti var1 ir var2. Galėsime atšaukti nuorodą į var1 ir išspausdinsime jo teiginį, tačiau gausime atributo klaidą už nuorodą į var2. Taigi, programa pereis į išskyrus bloką ir mes išspausdinsime teiginį, kuris parašytas tik klaidos sąlygai.