Python __init__

Resumo : neste tutorial, você aprenderá como usar o __init__()método Python para inicializar atributos de objetos.

Introdução ao método Python __init__()

Quando você cria um novo objeto de uma classe , o Python chama automaticamente o __init__()método para inicializar os atributos do objeto .

Diferentemente dos métodos regulares , o __init__()método possui dois sublinhados (__) de cada lado. Portanto, o __init__()é frequentemente chamado de dunder init. O nome vem abreviação dos sublinhados duplos init.

Os sublinhados duplos em ambos os lados do __init__()método indicam que o Python usará o método internamente. Em outras palavras, você não deve chamar esse método explicitamente.

Como o Python chamará automaticamente o __init__()método imediatamente após a criação de um novo objeto, você pode usar o __init__()método para inicializar os atributos do objeto.

O seguinte define a Personclasse com o __init__()método:

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age


if __name__ == '__main__':
    person = Person('John', 25)
    print(f"I'm {person.name}. I'm {person.age} years old.")
Linguagem de código:  Python  ( python )

Quando você cria uma instância da Personclasse, o Python realiza duas coisas:

  • Primeiro, crie uma nova instância da Personclasse definindo o namespace do objeto, como __dict__o atributo, como vazio ( {}).
  • Segundo, chame o __init__método para inicializar os atributos do objeto recém-criado.

Observe que o __init__método não cria o objeto, mas apenas inicializa os atributos do objeto. Portanto, the __init__()não é um construtor.

Se __init__tiver parâmetros diferentes de self, você precisará passar os argumentos correspondentes ao criar um novo objeto como no exemplo acima. Caso contrário, você receberá um erro.

O método __init__ com parâmetros padrão

Os __init__()parâmetros do método podem ter valores padrão. Por exemplo:

class Person:
    def __init__(self, name, age=22):
        self.name = name
        self.age = age


if __name__ == '__main__':
    person = Person('John')
    print(f"I'm {person.name}. I'm {person.age} years old.")

Saída:

I'm John. I'm 22 years old.Linguagem de código:  JavaScript  ( javascript )

Neste exemplo, o ageparâmetro tem um valor padrão de 22. Como não passamos um argumento para Person(), ele ageusa o valor padrão.

Resumo

  • Use o __init__()método para inicializar os atributos do objeto.
  • O __init__()não cria um objeto, mas é chamado automaticamente após a criação do objeto.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *