Python: error de atributo

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *