En todos los lenguajes de programación, si desarrollamos nuevos programas, existe una alta probabilidad de obtener errores o excepciones. Estos errores dan lugar a que el programa no se ejecute. Uno de los errores en Python que ocurre principalmente es «AttributeError». AttributeError se puede definir como un error que se genera cuando falla una asignación o una referencia de atributo.
Por ejemplo, si tomamos una variable x, se nos asigna un valor de 10. En este proceso, supongamos que queremos agregar otro valor a esa variable. No es posible. Dado que la variable es de tipo entero, no es compatible con el método de adición. Entonces, en este tipo de problema, obtenemos un error llamado «AttributeError». Supongamos que si la variable es de tipo lista, entonces admite el método de agregar. Entonces no hay problema y no se obtiene «Error de atributo».
Nota: Los errores de atributo en Python generalmente se generan cuando se hace una referencia de atributo no válida.
Hay algunas posibilidades de obtener AttributeError.
Ejemplo 1:
Python3
# Python program to demonstrate # AttributeError X = 10 # Raises an AttributeError X.append(6)
Producción:
Traceback (most recent call last): File "/home/46576cfdd7cb1db75480a8653e2115cc.py", line 5, in X.append(6) AttributeError: 'int' object has no attribute 'append'
Ejemplo 2: a veces, cualquier variación en la ortografía provocará un error de atributo, ya que Python es un lenguaje que distingue entre mayúsculas y minúsculas.
Python3
# Python program to demonstrate # AttributeError # Raises an AttributeError as there is no # method as fst for strings string = "The famous website is { }".fst("geeksforgeeks") print(string)
Producción:
Traceback (most recent call last): File "/home/2078367df38257e2ec3aead22841c153.py", line 3, in string = "The famous website is { }".fst("geeksforgeeks") AttributeError: 'str' object has no attribute 'fst'
Ejemplo 3: AttributeError también se puede generar para una clase definida por el usuario cuando el usuario intenta hacer una referencia de atributo no válida.
Python3
# Python program to demonstrate # AttributeError class Geeks(): def __init__(self): self.a = 'GeeksforGeeks' # Driver's code obj = Geeks() print(obj.a) # Raises an AttributeError as there # is no attribute b print(obj.b)
Producción:
GeeksforGeeks
Error:
Traceback (most recent call last): File "/home/373989a62f52a8b91cb2d3300f411083.py", line 17, in print(obj.b) AttributeError: 'Geeks' object has no attribute 'b'
Solución para AttributeError
Los errores y las excepciones en Python se pueden manejar usando el manejo de excepciones, es decir, usando try y except en Python.
Ejemplo: Considere el ejemplo de clase anterior, queremos hacer algo más en lugar de imprimir el rastreo Siempre que se genere un AttributeError.
Python3
# Python program to demonstrate # AttributeError class Geeks(): def __init__(self): self.a = 'GeeksforGeeks' # Driver's code obj = Geeks() # Try and except statement for # Exception handling try: print(obj.a) # Raises an AttributeError print(obj.b) # Prints the below statement # whenever an AttributeError is # raised except AttributeError: print("There is no such attribute")
Producción:
GeeksforGeeks There is no such attribute
Nota: Para obtener más información sobre el manejo de excepciones, haga clic aquí.
Publicación traducida automáticamente
Artículo escrito por harshithasri18082001 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA