A palavra-chave própria em Python
Este tutorial explicará o propósito e o uso da palavra-chave self
em Python. Na programação orientada a objetos, temos classes, e cada classe possui vários atributos e métodos. Sempre que um objeto ou instância de uma classe é criado, o construtor (método __init__()
em Python) é chamado para inicializar os atributos da instância.
Ao criar uma instância de uma classe, precisamos diferenciar ou especificar os atributos da instância dos argumentos e outras variáveis. E é aí que precisamos da palavra-chave self
para especificar que estamos passando o valor para os atributos da instância e não para a variável local ou argumento com o mesmo nome.
Suponha que, para uma classe car
, passemos o argumento color
ao método __init__()
para inicializar o atributo color
da classe car
, especificaremos o atributo color
da instância como self.color
, que mostra que a classe car
possui um atributo color
e atribuímos o valor a esse atributo.
Da mesma forma, também podemos chamar os métodos de instância da classe usando a palavra-chave self
como o método self.start()
da classe car
. Resumindo, podemos dizer que a palavra-chave self
permite ao usuário especificar e acessar os atributos e métodos de uma instância da classe.
Use e exemplos de códigos da palavra-chave self
em Python
Agora, vamos ver como a palavra-chave self
é usada em Python para especificar os métodos e atributos de uma instância por meio do código de exemplo.
O primeiro código de exemplo fornecido abaixo demonstra como a palavra-chave self
é usada no método __init__()
para inicializar os atributos da instância que está sendo inicializada. Não precisamos declarar ou criar variáveis antes de inicializar ou atribuir valores a elas para que possamos inicializar os atributos da instância da seguinte maneira:
class car:
def __init__(self, model, color):
self.model = model
self.color = color
mycar = car("model XYZ", "red")
print(mycar.model)
print(mycar.color)
Resultado:
model XYZ
red
Como pode ser visto acima, o método __init__()
é chamado automaticamente na criação de uma nova instância da classe, e seus atributos são inicializados. O self
precisa ser o parâmetro do método para acessar os métodos e atributos das instâncias.
O código de exemplo a seguir demonstra como usar a palavra-chave self
para chamar os métodos de instância / classe dentro de outros métodos de classe em Python.
class car:
def __init__(self, model, color):
self.model = model
self.color = color
self.start()
def start(self):
print(self.model + ", has started!")
mycar = car("model XYZ", "red")
Resultado:
model XYZ, has started!
Como no código de exemplo acima, podemos chamar métodos de classe usando a palavra-chave self
e acessar os atributos em qualquer método de classe passando a instância da classe como parâmetro self
.