English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial básico do Python

Controle de fluxo do Python

Funções do Python

Tipos de Dados do Python

Operações de arquivos do Python

Objetos e classes do Python

Data e hora do Python

Conhecimentos avançados do Python

Manual de referência do Python

Métodos de uso e exemplos do getattr() em Python

Funções Integradas do Python

O método getattr() retorna o valor da propriedade nomeada do objeto. Se não encontrar, ele retornará o valor padrão fornecido para a função.

A sintaxe do getattr() é:

getattr(object, name[, default])

A sintaxe acima é equivalente a:

object.name

Parâmetros do getattr()

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

  • object -O objeto que se deseja retornar o valor da propriedade nomeada

  • name -String que contém o nome da propriedade

  • default (opcional) -Retorno ao encontrar a propriedade nomeada

Retorno do getattr()

O getattr() retorna:

  • O valor da propriedade nomeada do objeto dado

  • default, se não encontrar a propriedade nomeada

  • Exceção AttributeError, se não encontrar a propriedade nomeada e não definir um valor padrão

Exemplo1:Como o getattr() funciona no Python?

class Person:
    age = 23
    name = "Adam"
person = Person()
print('A idade é:', getattr(person, "age"))
print('A idade é:', person.age)

Quando o programa é executado, a saída será:

A idade é: 23
A idade é: 23

Exemplo2:getattribute() ao encontrar propriedade nomeada

class Person:
    age = 23
    name = "Adam"
person = Person()
# Quando fornecer um valor padrão
print('O sexo é:', getattr(person, 'sex', 'Male'))
# Quando não fornecer um valor padrão
print('O sexo é:', getattr(person, 'sex'))

Quando o programa é executado, a saída será:

O sexo é: Male
AttributeError: 'Person' object has no attribute 'sex'

A propriedade nomeada 'sex' não existe na classe Person. Portanto, ao usar o valor padrão Male na chamada do método getattr(), ele retornará Male.

Mas, se não fornecermos nenhum valor padrão, uma vez que não encontrar a propriedade nomeada 'sex', será lançada uma exceção AttributeError, ou seja, o objeto não possui a propriedade 'sex'.

Funções Integradas do Python