setattr() Define atributo

Última atualização: 2026-09-22

setattr() Define atributo

setattr(obj, name, value) define o atributo name de obj como value; equivalente a obj.name = value.

CategoriaFunções internas
TipoFunção interna
Versão do Pythonall

📝 Sintaxe

setattr(object, name, value)

⚙️ Parâmetros

object ObrigatórioThe object whose attribute is set.
name ObrigatórioThe attribute name (string).
value ObrigatórioThe value to assign.

Retorno:None; the attribute is set in place.

💥 Exceções

▶ Exemplo

Edite o código, clique em Executar e veja o resultado no painel de saída:

Saída:

100
Mais estudos de caso em breve — aguarde.

❓ Perguntas frequentes

QHá diferença entre setattr(obj, 'x', 100) e obj.x = 100?
ASão funcionalmente equivalentes. A vantagem de setattr é que o nome do atributo pode ser uma variável ou uma string calculada dinamicamente, adequado à programação reflexiva.
QQuais são os usos típicos de setattr?
ACarregar config / mapear objetos: for k, v in config.items(): setattr(obj, k, v), convertendo um dicionário em atributos de objeto em lote.
QO que acontece ao mirar um atributo somente leitura?
ALevanta AttributeError: can't set attribute, por exemplo atribuindo a uma property que só define o getter.
QUma classe com __slots__ aceita setattr de qualquer atributo?
ANão — apenas os nomes declarados em __slots__ podem ser atribuídos; atribuir qualquer outro nome levanta AttributeError.
Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%