Python getattr ()

O método getattr () retorna o valor do atributo nomeado de um objeto. Se não for encontrado, ele retorna o valor padrão fornecido para a função.

A sintaxe do getattr()método é:

 getattr (objeto, nome (, padrão))

A sintaxe acima é equivalente a:

 object.name

Parâmetros getattr ()

getattr() método usa vários parâmetros:

  • objeto - objeto cujo valor do atributo nomeado deve ser retornado
  • nome - string que contém o nome do atributo
  • default (opcional) - valor que é retornado quando o atributo nomeado não é encontrado

Valor de retorno de getattr ()

getattr() método retorna:

  • valor do atributo nomeado do objeto fornecido
  • default, se nenhum atributo nomeado for encontrado
  • AttributeErrorexceção, se o atributo nomeado não for encontrado e defaultnão estiver definido

Exemplo 1: Como getattr () funciona em Python?

 class Person: age = 23 name = "Adam" person = Person() print('The age is:', getattr(person, "age")) print('The age is:', person.age)

Resultado

 A idade é: 23 anos A idade é: 23 

Exemplo 2: getattr () quando o atributo nomeado não for encontrado

 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'))

Resultado

 O sexo é: Masculino AttributeError: o objeto 'Pessoa' não tem atributo 'sexo' 

O atributo denominado sexo não está presente na classe Pessoa. Portanto, ao chamar o getattr()método com um valor padrão Male, ele retorna Male.

Mas, se não fornecermos nenhum valor padrão, quando o atributo nomeado sexo não for encontrado, surge um AttributeErrorditado que o objeto não tem atributo sexual.

Artigos interessantes...