El método getattr () devuelve el valor del atributo nombrado de un objeto. Si no se encuentra, devuelve el valor predeterminado proporcionado a la función.
La sintaxis del getattr()
método es:
getattr (objeto, nombre (, predeterminado))
La sintaxis anterior es equivalente a:
nombre del objeto
Parámetros getattr ()
getattr()
El método toma múltiples parámetros:
- objeto : objeto cuyo valor de atributo nombrado se devolverá
- nombre : cadena que contiene el nombre del atributo
- predeterminado (opcional) : valor que se devuelve cuando no se encuentra el atributo nombrado
Valor de retorno de getattr ()
getattr()
devuelve el método:
- valor del atributo nombrado del objeto dado
default
, si no se encuentra ningún atributo con nombreAttributeError
excepción, si el atributo con nombre no se encuentra ydefault
no está definido
Ejemplo 1: ¿Cómo funciona getattr () en Python?
class Person: age = 23 name = "Adam" person = Person() print('The age is:', getattr(person, "age")) print('The age is:', person.age)
Salida
La edad es: 23 La edad es: 23
Ejemplo 2: getattr () cuando no se encuentra el atributo con nombre
class Person: age = 23 name = "Adam" person = Person() # when default value is provided print('The sex is:', getattr(person, 'sex', 'Male')) # when no default value is provided print('The sex is:', getattr(person, 'sex'))
Salida
El sexo es: Male AttributeError: el objeto 'Persona' no tiene atributo 'sexo'
El atributo denominado sexo no está presente en la clase Persona. Entonces, cuando se llama al getattr()
método con un valor predeterminado Male
, devuelve Male.
Pero, si no proporcionamos ningún valor predeterminado, cuando no se encuentra el atributo con nombre sexo, surge un mensaje que AttributeError
dice que el objeto no tiene ningún atributo de sexo.