Función getattr() en Python
La función
getattr()
en Python se utiliza para obtener el valor de un atributo de un objeto dado su nombre. Puede ser especialmente útil cuando se trabaja con objetos cuyos atributos se definen dinámicamente o cuando se necesita acceder a un atributo cuyo nombre se almacena en una variable.
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 getattr() en Python
La sintaxis básica de
getattr()
es la siguiente:
Ejemplo
nombre_atributo = "nombre"
objeto = [1, 2, 3]
valor_predeterminado = "desconocido"
getattr(objeto, nombre_atributo, valor_predeterminado)
print(valor_predeterminado)
Donde:
-
objeto: Es el objeto del cual deseas obtener el atributo. -
nombre_atributo: Es una cadena que representa el nombre del atributo que deseas obtener. -
valor_predeterminado(opcional): Es el valor que se devolverá 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.
Ejemplo de getattr() en Python
Aquí hay un ejemplo para ilustrar cómo se utiliza
getattr()
:
Ejemplo
class MiClase:
def __init__(self):
self.valor = 42
objeto = MiClase()
# Usando getattr para obtener el atributo "valor"
atributo = getattr(objeto, 'valor')
print(atributo) # Imprime: 42
En este ejemplo,
getattr(objeto, "valor")
se utiliza para obtener el valor del atributo "valor" del objeto
objeto
, que es igual a 42.
Si el atributo que estás tratando de obtener no existe, puedes proporcionar un valor predeterminado como tercer argumento para evitar que se genere una excepción
AttributeError
:
Ejemplo
nombre_atributo = "nombre"
objeto = [1, 2, 3]
valor_predeterminado = "desconocido"
getattr(objeto, nombre_atributo, valor_predeterminado)
print(valor_predeterminado)
En este caso, como el atributo "valor" no existe en el objeto, se devuelve el valor predeterminado proporcionado ("Atributo no encontrado").
getattr()
es especialmente útil cuando necesitas acceder a atributos de un objeto de manera dinámica, como cuando el nombre del atributo se construye a partir de datos externos o se pasa como argumento a una función.
Ten en cuenta que
getattr()
también se puede utilizar con módulos y clases para acceder a funciones y métodos, así como a variables y atributos de clase. Es una función versátil que facilita la manipulación de objetos y atributos en Python.
Practica Función getattr() 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: Getattr Funcion
Practica getattr funcion en el editor interactivo.
Ejemplo
nombre_atributo = "nombre"
objeto = [1, 2, 3]
valor_predeterminado = "desconocido"
getattr(objeto, nombre_atributo, valor_predeterminado)
print(valor_predeterminado)
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.