1
resposta

__init__

Olá, eu gostaria que alguém me desse a definição do __init__? Uma explicação sobre como ele funciona...

1 resposta

Bom dia, Pedro!

O método init é, em linhas gerais, um método construtor da classe. Desta forma, ele permite que, ao criarmos uma instância/objeto da classe, possamos definir valores para os atributos daquela classe.

Embora não seja obrigatório implementar este método, é interessante adicioná-lo aos métodos da classe para definir "o mínimo" necessário para a criação de um objeto daquela classe.

Por exemplo, vamos imaginar uma classe Carro. Pensando em um carro do mundo real, percebemos que todos eles têm:

  • Nome.
  • Marca.
  • Ano.
  • Quantidade de portas. Com certeza existem outros itens que estão presentes em um carro, mas vamos focar nestes.

Assim, nossa classe Carro, com o método init, ficaria desta forma (ocultando os métodos de acesso e atribuição de valores aos atributos fora do init):

class Carro:
    def __init__(self, modelo, marca, ano, quantidade_de_portas):
        self.__modelo = modelo
        self.__marca = marca
        self.__ano = ano
        self.__quantidade_de_portas = quantidade_de_portas

Mediante esta classe, segue abaixo como criamos dois objetos diferentes desta classe:

carro_01 = Carro("Fusca", "Volkswagen", 1985, 2)
carro_02 = Carro("Renegade", "Jeep", 2018, 4)

Espero ter ajudado!! Bons estudos!