Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Inicialização | Conceitos de POO
Programação Orientada a Objetos em Python Avançado
course content

Conteúdo do Curso

Programação Orientada a Objetos em Python Avançado

Programação Orientada a Objetos em Python Avançado

1. Conceitos de POO
2. Herança
3. Encapsulamento
4. Polimorfismo e Abstração
5. Métodos Mágicos

Inicialização

As instâncias são comumente criadas com parâmetros específicos que as distinguem uma das outras. Por exemplo, vamos considerar a class User e suas instâncias, como John e Bob, que possuem nomes, sobrenomes e idades distintos. Agora, vamos explorar como podemos definir esses parâmetros ao criar uma instância.

O que é <code class="go3679463865">__init__</code>?

__init__ é um método especial utilizado para inicializar atributos de uma nova instância de uma classe. O método __init__, que é executado quando criamos uma nova instância de uma classe.

Como lembrete, criar uma nova instância envolve usar o nome da classe e parênteses (). O propósito do método __init__ é receber valores como argumentos dentro destes parênteses e atribuir esses valores aos atributos da instância recém-criada.

123456789
class User: def __init__(self, name, surname, age): self.name = name self.surname = surname self.age = age bob = User("Bob", "Smith", 11) print(bob.name, bob.surname, bob.age)
copy

No exemplo fornecido, definimos o método __init__, que é executado toda vez que uma nova instância da classe é criada. Quando criamos a instância bob, passamos os valores "Bob", "Smith" e 11 como argumentos para a classe User. O método __init__ recebe esses argumentos e os utiliza para definir novos atributos para a instância bob.

O User.age deve gerar um AttributeError porque a classe User não tem nenhum atributo definido. O método __init__, como mencionado anteriormente, é responsável por definir atributos para cada instância da classe, não para a classe em si.

Nota

Mais detalhes sobre métodos serão descritos nos capítulos subsequentes.

Abordaremos o argumento self no próximo capítulo. Não há necessidade de se aprofundar neste momento.

Qual é o propósito do método __init__?

Selecione a resposta correta

Tudo estava claro?

Seção 1. Capítulo 4
We're sorry to hear that something went wrong. What happened?
some-alt