Questão nº 43

Questão de Análise de Sistemas · FGV TJDFT 2022 (nº 43)

FGV2022Analista Judiciário - Análise de SistemasAnálise de Sistemas
Gabarito: Aver comentário ↓

Analise o código Python 3.9 a seguir.

class Teste:
  def ----------
    self.altura = xaltura
    self.largura = xlargura
  def dimensoes(self):
    print("altura = " + str(self.altura) + "\n" \
          + "largura = " + str(self.largura))
x = Teste(12, 20)
x.dimensoes()

Para que a execução desse código exiba

altura = 12
largura = 20

o trecho tracejado na segunda linha deve ser substituído por:

Resposta comentada

Gabarito Alternativa A

O construtor de uma classe em Python é o método especial __init__, que é chamado automaticamente quando criamos um objeto. Ele sempre recebe self como primeiro parâmetro, que representa a própria instância que está sendo criada, e depois os outros argumentos passados na criação (como 12 e 20).

  • (A) Correta: __init__(self, xaltura, xlargura): — é exatamente o que o código precisa: o método especial de inicialização, com self e os dois parâmetros que serão usados para preencher os atributos.
  • (B) Incorreta: falta o self, que é obrigatório em métodos de instância — sem ele, o Python não associa o método ao objeto criado, causando erro de tipo.
  • (C) Incorreta: init sem os underscores duplos não é um método especial reconhecido pelo Python, então nunca seria chamado automaticamente na criação do objeto.
  • (D) Incorreta: new é um método diferente (usado para controlar a criação da instância em casos avançados), e a sintaxe args[xaltura, xlargura] não é válida para receber parâmetros normais.
  • (E) Incorreta: embora tenha self e os parâmetros, new não é o método de inicialização — ele é chamado antes do __init__ e não serve para configurar atributos diretamente dessa forma.

Armadilha da banca: a pegadinha mais tentadora é a (B), pois muitos alunos decoram que __init__ recebe os parâmetros, mas esquecem do self — que é o que liga o método à instância. Sem ele, o código falha com TypeError ao tentar criar o objeto.

Fonte: FGV TJDFT 2022 Analista Judiciário - Análise de Sistemas (Caderno Tipo 1). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho