FC ConcursosFC Concursos

Questão FC331166

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" \ +

Linguagens de Programação

FGV · 2022

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:

  1. __init__(self, xaltura, xlargura):
  2. __init__(xaltura, xlargura):
  3. init (xaltura, xlargura):
  4. new (self, args[xaltura, xlargura]):
  5. new (self, xaltura, xlargura):
Mostrar resposta e comentário

Gabarito

A

Comentário do professor

A linha correta é __init__(self, xaltura, xlargura): porque em Python esse nome define o construtor da classe, método chamado automaticamente quando criamos uma instância com Teste(12, 20).

O parâmetro self referencia a própria instância e deve ser o primeiro argumento de qualquer método de instância. Os parâmetros xaltura e xlargura recebem os valores passados na criação do objeto.

No corpo do construtor, self.altura = xaltura e self.largura = xlargura tornam esses valores em atributos da instância, acessíveis por outros métodos.

Assim, quando chamamos x.dimensoes(), o método usa self.altura e self.largura já definidos pelo __init__, resultando na saída desejada.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo