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.
Página de referencia: resume la firma y el uso de un método concreto. El valor está en el patrón: qué recibe, qué devuelve y en qué situación lo usarías.
Copia el ejemplo al editor, cámbiale los argumentos y comprueba la salida.
Sintaxis de la Función delattr() en Python
La sintaxis básica de
getattr()
es la siguiente:
Ejemplo
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ónAttributeError.
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:
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:
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.
Ejemplo
class Persona:
def __init__(self, nombre):
self.nombre = nombre
p = Persona("Elena")
delattr(p, "nombre")
print(hasattr(p, "nombre"))
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.
Practica Función delattr() en Python en el editor
Pon en práctica lo aprendido con nuestro editor Python interactivo. Cada ejercicio incluye el código de partida y un botón para abrirlo en una nueva pestaña, donde puedes modificarlo y ejecutarlo.
Ejercicio: Delattr Funcion
Practica delattr funcion en el editor interactivo.
Ejemplo
class Persona:
def __init__(self, nombre):
self.nombre = nombre
p = Persona("Elena")
delattr(p, "nombre")
print(hasattr(p, "nombre"))
Cómo practicar
1. Pulsa Ejecutar en el bloque de código.
2. Modifica un valor o argumento.
3. Vuelve a ejecutar y observa la consola.