Python getattr ()

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 nombre
  • AttributeErrorexcepción, si el atributo con nombre no se encuentra y defaultno 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 AttributeErrordice que el objeto no tiene ningún atributo de sexo.

Articulos interesantes...