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 encontradoAttributeError
exceção, se o atributo nomeado não for encontrado edefault
nã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 AttributeError
ditado que o objeto não tem atributo sexual.