Pular para o conteúdo principal

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

ProgramaçãoLinguagens de programação
Código
fg126183
Banca
FGV
Órgão
AL-GO
Ano
2026
Nível
Superior
Cargo
Analista Legislativo - Analista de Sistemas
Com relação aos Métodos Dúnder (ou Dunder, ou mágicos) em Python, assinale V para a afirmativa verdadeira e F para a falsa.


( ) são funções especiais que começam e terminam com dois sublinhados onde são criadas variáveis privadas para evitar conflitos de nomes em herança.

( ) São métodos especiais onde o atributo (ou método) é destinado ao uso dentro do módulo ou classe

( ) são funções especiais que somente contém dois sublinhados no início (__nome), resultando em indicador “fraco” de uso interno.


As afirmativas são, respectivamente,
  1. AF – F – F.
  2. BV – F – V.
  3. CF – F – V.
  4. DF – V – F.
  5. EV – V – V.
Revelar gabarito e comentário

GabaritoA — F – F – F.

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”.

Python: Métodos Dunder (Mágicos)

Gabarito: letra A – F, F, F. As três afirmativas são falsas porque confundem métodos dunder com name mangling e indicadores de uso interno. Dunder methods (_init_, _str, etc.) são funções especiais que começam e terminam com dois sublinhados, usados para sobrecarga de operadores e protocolos – não servem para criar variáveis privadas. A criação de atributos pseudo-privados ocorre com o prefixo duplo sublinhado sem sufixo (_nome), que ativa o name mangling. Já o indicador "fraco" de uso interno é o prefixo simples (_nome).

Convenção

Sintaxe

Finalidade

Dunder (método mágico)

__nome__ (início e fim)

Sobrecarga de operadores e protocolos (ex.: __init__, __str__)

Name mangling

__nome (apenas início)

Criação de atributo pseudo-privado para evitar conflitos em herança

Indicador fraco de uso interno

_nome (apenas um sublinhado)

Convenção para indicar uso interno (não há transformação pelo interpretador)

Convenções de sublinhado em Python
  • 1Dunder (nome)
    • Métodos especiais (init, str)
    • Sobrecarga de operadores e protocolos
    • Não cria variáveis privadas
  • 2Prefixo duplo (__nome)
    • Name mangling (_Classe__nome)
    • Evita conflitos em herança
  • 3Prefixo simples (_nome)
    • Indicador "fraco" de uso interno
    • Convenção, não transformação
LEVEL · soulevel.com.br

1ª afirmativa — ❌ Falsa

A afirmação diz que métodos dunder "são funções especiais que começam e terminam com dois sublinhados onde são criadas variáveis privadas para evitar conflitos de nomes em herança". Isso mistura dois conceitos: os dunder methods realmente começam/terminam com _, mas a criação de variáveis privadas (name mangling) é feita com apenas dois sublinhados no início (_nome), não com dois em ambos os lados. Um método dunder como _init_ não é usado para privacidade, sim para inicialização.

2ª afirmativa — ❌ Falsa

Diz que são métodos especiais "onde o atributo (ou método) é destinado ao uso dentro do módulo ou classe". Isso descreve o prefixo simples (_nome), que indica uso interno (weak internal use). Métodos dunder são públicos e chamados pelo interpretador em contextos específicos; não são restritos ao módulo/classe.

3ª afirmativa — ❌ Falsa

Afirma que métodos dunder "somente contém dois sublinhados no início (_nome), resultando em indicador “fraco” de uso interno". Na verdade, o prefixo duplo (_nome) ativa name mangling (renomeação para Classe_nome), que é um mecanismo mais forte, não fraco. O indicador fraco é o sublinhado simples (_nome), que é uma convenção, não uma transformação.

NÃO CAIA NESSA!

A banca mistura três convenções de sublinhado em Python: (1) dunder (_init_) = métodos especiais; (2) __nome (apenas prefixo) = name mangling para evitar conflitos em herança; (3) _nome (prefixo simples) = indicador de uso interno. As afirmativas trocam essas definições propositalmente.

Gabarito: letra A – todas as afirmativas são falsas.

Link permanente: /questoes/fg126183