Como Funciona o Self no Python: Guia Completo para Iniciantes
O self no Python é uma palavra-chave utilizada para referenciar a própria instância de uma classe.
Glossário
O que é o self no Python?
Introdução
O self é uma palavra-chave utilizada no Python para referenciar a própria instância de uma classe. Em outras palavras, o self é utilizado para acessar os atributos e métodos de um objeto em particular. Ele é semelhante ao “this” em outras linguagens de programação, como o Java.
Utilizando o self no Python
Acesso aos atributos
O self é utilizado para acessar os atributos de um objeto. Dentro de um método de uma classe, podemos utilizar o self seguido do nome do atributo para obter seu valor. Por exemplo:
class Pessoa:
def __init__(self, nome, idade):
self.nome = nome
self.idade = idade
def apresentar(self):
print("Olá, meu nome é", self.nome, "e eu tenho", self.idade, "anos.")
pessoa1 = Pessoa("João", 25)
pessoa1.apresentar()
Nesse exemplo, o self é utilizado para acessar os atributos nome
e idade
dentro do método apresentar
. Isso permite que cada objeto criado a partir da classe Pessoa apresente seu próprio nome e idade.



Chamada de outros métodos
O self também é utilizado para chamar outros métodos dentro de uma classe. Por exemplo:
class Calculadora:
def __init__(self):
self.resultado = 0
def somar(self, a, b):
self.resultado = a + b
def subtrair(self, a, b):
self.resultado = a - b
def imprimir_resultado(self):
print("O resultado é", self.resultado)
calculadora = Calculadora()
calculadora.somar(5, 3)
calculadora.imprimir_resultado()
Nesse exemplo, o self é utilizado para acessar o atributo resultado
dentro dos métodos somar
, subtrair
e imprimir_resultado
. Isso permite que o resultado seja armazenado e exibido corretamente.
Referenciando o próprio objeto
O self também pode ser utilizado para referenciar o próprio objeto dentro de um método. Isso pode ser útil em situações onde precisamos realizar operações com o objeto em si. Por exemplo:
class Retangulo:
def __init__(self, altura, largura):
self.altura = altura
self.largura = largura
def calcular_area(self):
return self.altura * self.largura
def redimensionar(self, fator):
self.altura *= fator
self.largura *= fator
retangulo = Retangulo(5, 10)
area_inicial = retangulo.calcular_area()
retangulo.redimensionar(2)
area_final = retangulo.calcular_area()
Nesse exemplo, o self é utilizado para acessar os atributos altura
e largura
dentro dos métodos calcular_area
e redimensionar
. Isso permite que o objeto seja manipulado e que sua área seja calculada corretamente.
Dicas para iniciantes no uso do self no Python
- Utilize o self de forma consistente: Ao utilizar o self, é importante manter a consistência em toda a classe. Certifique-se de utilizar o self para acessar atributos e chamar métodos dentro de todos os métodos da classe.
- Evite utilizar o self como nome de variável: Embora seja possível utilizar o self como nome de variável em Python, isso pode causar confusão e tornar o código menos legível. É recomendado utilizar o self apenas dentro de métodos de classe.
- Utilize o self para diferenciar atributos de instância: O self é utilizado para diferenciar os atributos de instância de uma classe. Cada objeto criado a partir de uma classe possui seus próprios valores de atributos, e o self garante que esses valores sejam corretamente referenciados.
- Entenda a diferença entre métodos de classe e métodos estáticos: Em Python, existem os métodos de classe, que possuem o decorador
@classmethod
, e os métodos estáticos, que possuem o decorador@staticmethod
. Dentro desses métodos, o self não é utilizado, pois eles não possuem acesso aos atributos de instância. É importante entender a diferença entre esses tipos de métodos e utilizá-los adequadamente.
No geral, o self é uma palavra-chave essencial na programação em Python. Ela permite o acesso e manipulação dos atributos e métodos de um objeto dentro de uma classe. Ao utilizar o self corretamente, é possível criar código mais organizado, legível e eficiente. Pratique o uso do self em seus projetos e aproveite todos os benefícios que ele oferece.
Conclusão
Neste guia completo, exploramos o conceito do self no Python. Vimos que o self é uma palavra-chave utilizada para referenciar a instância de uma classe e permitir o acesso e manipulação de atributos e métodos.



Entender o self é fundamental para a programação orientada a objetos em Python. Utilizando o self corretamente, é possível criar classes e objetos de forma eficiente e organizar o código de maneira clara e legível.
Esperamos que este guia tenha sido útil para os iniciantes no uso do self no Python. Com as dicas apresentadas, você estará pronto para utilizar o self de forma eficaz em seus projetos. Continue praticando e explorando as possibilidades que o Python oferece para a programação orientada a objetos.
A Awari é a melhor plataforma para aprender sobre ciência de dados no Brasil.
Aqui você encontra cursos com aulas ao vivo, mentorias individuais com os melhores profissionais do mercado e suporte de carreira personalizado para dar seu próximo passo profissional e aprender habilidades como Data Science, Data Analytics, Machine Learning e mais.
Já pensou em aprender de maneira individualizada com profissionais que atuam em empresas como Nubank, Amazon e Google? Clique aqui para se inscrever na Awari e começar a construir agora mesmo o próximo capítulo da sua carreira em dados.


