Conteúdo do Curso
Programação Orientada a Objetos em Python Avançado
Programação Orientada a Objetos em Python Avançado
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 é __init__
?
__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.
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)
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.
Obrigado pelo seu feedback!