← Volver

La función getattr()

getattr() es una función incorporada que permite obtener el valor de un atributo indicando su nombre como una cadena.

class Rectangulo:
def __init__(self, b, h):
self.b = b
self.h = h

rect = Rectangulo(10, 5)
print("Base:", getattr(rect, "b"))
print("Altura:", getattr(rect, "h"))

Como se observa en el ejemplo, getattr(rect, "b") equivale a rect.b. El primer atributo debe ser un objeto; el segundo, el nombre (como una cadena) de un atributo de aquel objeto.

Si el atributo no existe, se lanza la excepción AttributeError, a menos que se haya indicado un valor por defecto como tercer argumento, en cuyo caso, dicho valor es retornado.

# 50 es el valor por defecto.
print("Area:", getattr(rect, "area", 50))



¿Alguna duda sobre este código? ¡Preguntanos en el foro!