Pular para o conteúdo principal

Questão de Programação — Linguagens de programação — FGV 2026

ProgramaçãoLinguagens de programação
Código
fg127415
Banca
FGV
Órgão
AL-RO
Ano
2026
Nível
Superior
Cargo
Analista Legislativo (Tecnologia da Informação - Infraestrutura de Redes e Comunicação)
Um Engenheiro de Computação precisa implementar um log de auditoria para todas as chamadas de funções críticas no sistema de aprovação de verbas, sem alterar o código interno dessas funções.Assinale a alternativa que identifica o recurso de metaprogramação do Python que permite envolver uma função existente com lógica adicional de forma transparente.
  1. AList Comprehension
  2. BGenerators
  3. CType Hinting
  4. DDecorators (@)
  5. EContext Managers (com with)
Revelar gabarito e comentário

GabaritoD — Decorators (@)

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Metaprogramação em Python: Decorators

Gabarito: letra D. O recurso que permite envolver uma função existente com lógica adicional de forma transparente, sem alterar seu código interno, é o decorator (sintaxe @). Decorators são um padrão de metaprogramação que recebem uma função como argumento e retornam uma nova função com comportamento estendido.

Alternativa A — ❌ Incorreta

List Comprehension é uma construção sintática para criar listas de forma concisa ([x for x in iterable]). Não se aplica a envolver funções com lógica adicional.

Alternativa B — ❌ Incorreta

Generators são funções que utilizam yield para produzir uma sequência sob demanda. Embora sejam um recurso poderoso, não têm relação com adicionar comportamento a funções existentes.

Alternativa C — ❌ Incorreta

Type Hinting (anotações de tipo) servem para indicar tipos esperados de parâmetros e retornos, mas não alteram o comportamento em tempo de execução e não permitem envolver funções.

Alternativa D — ✅ Correta ⟵ GABARITO

Decorators são o recurso clássico de metaprogramação em Python. Um decorator é uma função que recebe outra função e retorna uma versão modificada dela, permitindo adicionar lógica (como logging, auditoria, temporização) de forma transparente, usando a sintaxe @nome_do_decorator.

Alternativa E — ❌ Incorreta

Context Managers (gerenciadores de contexto) são usados com a declaração with para gerenciar recursos (abrir/fechar arquivos, conexões). Embora possam ser implementados via decorators ou classes, o conceito em si não é o recurso para envolver funções com lógica adicional.

Gabarito: letra D.

Link permanente: /questoes/fg127415