Función delattr() en Python

getattr() es una función incorporada en Python que se utiliza para acceder a atributos de un objeto. El nombre getattr proviene de «get attribute» (obtener atributo). Permite acceder a atributos de un objeto utilizando una cadena que representa el nombre del atributo.


Sintaxis de la Función delattr() en Python

La sintaxis básica de getattr() es la siguiente:

getattr(objeto, nombre_del_atributo[, valor_predeterminado])
  • objeto: El objeto del que deseas obtener el atributo.
  • nombre_del_atributo: Una cadena que representa el nombre del atributo que deseas acceder.
  • valor_predeterminado (opcional): El valor que se devuelve si el atributo no existe en el objeto. Si no se proporciona un valor predeterminado y el atributo no existe, se generará una excepción AttributeError.

Acceder a un atributo existente

Si el atributo especificado por nombre_del_atributo existe en el objeto, getattr() devolverá el valor de ese atributo. Por ejemplo:

class MiClase:
          mi_atributo = 42

instancia = MiClase()
valor = getattr(instancia, 'mi_atributo')
      print(valor)  # Output: 42

Acceder a un atributo inexistente con un valor predeterminado

Puedes proporcionar un valor predeterminado como tercer argumento. Si el atributo no existe en el objeto, getattr() devolverá ese valor predeterminado en lugar de generar una excepción AttributeError. Por ejemplo:

class MiClase:
mi_atributo = 42

instancia = MiClase()
valor = getattr(instancia, 'atributo_inexistente', 'No existe')
print(valor)  # Output: "No existe"

Sin valor predeterminado para un atributo inexistente

Si no proporcionas un valor predeterminado y el atributo no existe en el objeto, getattr() generará una excepción AttributeError. Por lo tanto, es importante manejar este caso si no estás seguro de que el atributo esté presente en el objeto.

class MiClase:
mi_atributo = 42

instancia = MiClase()
valor = getattr(instancia, 'atributo_inexistente')  # Esto generará AttributeError

En resumen, getattr() es útil cuando deseas acceder a atributos de un objeto de forma dinámica, especialmente cuando no estás seguro de si un atributo específico existe o no. Puedes utilizarlo para obtener valores de atributos y proporcionar un valor predeterminado en caso de que el atributo no exista.