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.