Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Informação errada sobre o construtor

O __init__ não é o construtor. O __init__ é o inicializador. Em Python o construtor é o __new__.

1 resposta
solução!

Olá, Henrique, tudo bem?

De fato no Python, o método __new__ é o verdadeiro construtor, pois é ele que é responsável por criar e retornar a nova instância do objeto. Porém na prática, o __new__ é pouco usado, pois o Python chama automaticamente o método __init__ após o __new__. Isso significa que quando criamos uma nova instância de uma classe, o Python primeiro chama o __new__ para criar a instância e, em seguida, chama o __init__ para inicializá-la.

Por isso, na maioria das vezes, quando falamos em "construtor" em Python, estamos nos referindo ao método __init__, mesmo que tecnicamente o verdadeiro construtor seja o __new__. Isso acontece porque é no __init__ que normalmente definimos os atributos que queremos que a nossa instância tenha, e é ele que usamos para controlar como a instância é criada.

No contexto da aula, quando o instrutor se refere ao __init__ como "construtor", ele está se referindo a essa prática comum de usar o __init__ para definir como as instâncias da classe são criadas.

Espero ter esclarecido à dúvida.

Abraços.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!