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:
- __init__(self, xaltura, xlargura):
- __init__(xaltura, xlargura):
- init (xaltura, xlargura):
- new (self, args[xaltura, xlargura]):
- 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