logo

AttributeError a Pythonban

Mi az a hiba?

A programozási nyelvekben, ha valamilyen kódot érvénytelen módon hajtunk végre, a program végrehajtása egy üzenettel leáll, és ezt az üzenetet hibának vagy kivételnek nevezzük. A programozási nyelvekben különböző okok miatt előfordulhatnak bizonyos típusú hibák. Néhány közülük a következő:

AssertionError:

Ez a fajta hiba akkor fordul elő, ha az állítási feltételek vagy utasítások meghiúsulnak a kódban.

kisalkalmazás

Importálási hiba:

Ez a hiba akkor fordul elő, amikor importálunk egy modult a fájlba, és ha az nem létezik.

Index hiba:

Ez akkor fordul elő, ha bármely sorozat indexe a tartományon kívül esik.

KeyError:

Ez a hiba akkor jelenik meg a Pythonban, amikor nem találunk kulcsot a szótárban.

NameError:

Ez a hiba akkor fordulhat elő, ha nem találunk változót a helyi vagy globális hatókörben.

Futtatási hiba:

java megfordítja a karakterláncot

Ez a hiba akkor jelenik meg, ha a hiba semmilyen típusba nem sorolható.

Behúzási hiba:

Ha rossz behúzást használunk a Python-kódban, akkor IndentationError lép fel.

Rendszer hiba:

Belső hiba esetén a tolmács felveti a SystemError-t.

UnicodeError:

Ha Unicode-hoz kapcsolódó kódolási vagy dekódolási hiba lép fel, megjelenik a UnicodeError.

ValueError:

Amikor egy függvényben az adattípusnak megfelelő argumentumot adjuk át, de az érték nem megfelelő, akkor a fellépő hibát ValueErrornak nevezzük.

ZeroDivisionError:

Mint tudjuk, a matematikában egyetlen számot sem oszthatunk nullával, mert az eredmény a végtelenbe hajlik. Tehát ha írtunk bármilyen utasítást a nullával való osztásról vagy a modulo nullával való osztásról, akkor a felvett hiba ZeroDivisionError lesz.

EOFEror:

Amikor az input() függvényt használjuk a bemenet lekéréséhez egy fájlból, és elérjük a fájl végét, akkor ez a hibaüzenet jelenik meg, jelezve, hogy elértük a fájl végét, és most nem vehetünk semmit bemenet a fájlból.

kapcsolja ki a fejlesztői módot

Ez a cikk főként az AttributeError-nak szól.

Mi az AttributeError?

Ez a hiba akkor fordul elő a programban, ha az attribútum-hozzárendelésben kondicionálási hiba történik. Például, ha egy egész változóhoz adunk valamilyen értéket, és megpróbálunk bármilyen karakterlánc-függvényt használni ebből a változóból, akkor az AttributeError értéket fog adni.

Az AttributeError okát a Pythonban a következő példák segítségével érthetjük meg:

1. példa:

Amikor egy függvényt más adattípusra alkalmazunk, ami nem lehetséges

 a=15 a.append('javatpoint') 

Kimenet:

AttributeError a Pythonban

Magyarázat:

A fenti kódban van egy egész változónk, amelyet 15-ös értékkel inicializáltunk. Ha az a változón az append függvényt használjuk, akkor az AttributeError-t adja, ami azt mondja, hogy nincs hozzáfűzésként attribútum. egész adattípusban.

2. példa:

Az attribútum hibás írása esetén előfordulhat AttributeError.

kijelölés rendezés java
 string = 'you will learn each coding tutorial from '.fst('Javatpoint') print(string) 

Kimenet:

AttributeError a Pythonban

Magyarázat:

A fenti kódban van egy string attribútum, és az fst attribútumot alkalmazzuk, így lesz AttributeError, hogy ez az attribútum nem létezik a változóhoz.

Példa 3:

Az AttributeError-t akkor kaphatjuk meg, ha rossz hivatkozást próbálunk tenni bármely osztályváltozóra.

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

Kimenet:

AttributeError a Pythonban

Magyarázat:

java keverés int

A fenti kódban van egy osztályunk, és van egy var1 nevű változó. Létrehozzuk az osztály objektumát, és tévedésből az osztály rossz var2 változójára hivatkozunk, amely nem is létezik, így biztosan lesz AttributeError.

A hiba vagy kivétel megoldása:

Pythonban vagy bármely programozási nyelvben használhatunk kivétel- vagy hibakezelést a try and kivéve utasítások használatával.

4. példa:

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

Kimenet:

AttributeError a Pythonban

Magyarázat:

A fenti kódban van egy osztályunk és egy var1 nevű változónk. A try utasításban megpróbálunk hivatkozni a var1-re és a var2-re. A var1 hivatkozást dereferálni tudjuk, és kinyomtatjuk az utasítást, de a var2 hivatkozásra az AttributeError-t kapjuk. Tehát a program bemegy az kivéve blokkba, és kiírjuk az utasítást, ami csak a hiba feltételére van írva.