Você sabe o que é self em Python? Como ele funciona? Para que serve? Aprenda de uma vez o que é o self no Python e como utilizá-lo em seus códigos.
Se quiser pode acompanhar esse conteúdo em formato de vídeo ou pode acessar o nosso Canal do YouTube para mais vídeos!
Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:
Não vamos te encaminhar nenhum tipo de SPAM! A Hashtag Treinamentos é uma empresa preocupada com a proteção de seus dados e realiza o tratamento de acordo com a Lei Geral de Proteção de Dados (Lei n. 13.709/18). Qualquer dúvida, nos contate.
O que você vai ver hoje?
O que é Self em Python – Explicação Completa
Quando programamos em Python, um dos conceitos mais importantes para trabalhar com programação orientada a objetos é entender o conceito de self.
Essa palavra-chave é fundamental na estruturação de classes e objetos, pois representa a instância atual da classe, permitindo o acesso a atributos e métodos pertencentes a essa instância.
Nesta aula, você verá detalhadamente como o self funciona, entenderá por que ele é tão importante e como utilizá-lo de forma eficiente.
O que é Self?
Em Python, o termo self é uma convenção usada exclusivamente na construção de classes para referenciar a instância atual de um objeto.
Embora não seja uma palavra-chave reservada, o self é essencial para definir métodos que possam acessar atributos e outras funções da mesma instância.
Dentro da programação orientada a objetos (POO), uma classe é a estrutura que descreve o comportamento e as características que os objetos criados a partir dela terão.
Quando criamos um método dentro de uma classe, o primeiro parâmetro desse método geralmente é a palavra self. Esse parâmetro funciona como um “identificador” que representa a instância do objeto específico ao qual o método está sendo aplicado.
Por meio do self, conseguimos acessar os atributos e métodos da instância atual da classe.
Caso você ainda não entenda o conceito de classes e objetos no Python, recomendo que você veja a aula: Classes no Python – Como Sair do Zero
Uso do Self na Construção da Classe – Exemplo Prático
Vamos visualizar um exemplo prático para ajudar a compreender o uso do self. Imagine que você está criando um sistema de streaming, como o da Netflix.
Nesse sistema, cada filme terá características (atributos) e ações específicas que podem ser executadas (métodos).
Dessa forma, podemos representar um filme como uma classe em Python, onde cada filme terá atributos como título, descrição e o arquivo de vídeo em si, além de métodos para executar funções como assistir ao filme e calcular sua duração.
class Filme(): def __init__(self, valor_do_titulo, descricao, arquivo_video): self.titulo = valor_do_titulo self.arquivo_video = arquivo_video self.descricao = descricao def assistir_filme(self): duracao = self.calcular_duracao_filme() print("Dar play no arquivo de video", self.arquivo_video, "do filme", self.titulo, "que tem", duracao, "minutos de duração") def calcular_duracao_filme(self): # comandos para calcular a duração do filme return 130
Nesse exemplo, self.titulo, self.arquivo_video e self.descricao são atributos específicos da instância do filme que está sendo criada.
Ao utilizar self, associamos essas características ao objeto individual, permitindo que cada filme tenha suas próprias informações.
Quando utilizamos self.titulo dentro do método assistir_filme, o Python entende que estamos nos referindo ao título específico do filme que será assistido naquele momento.
É importante dizer que é comum que nomes de parâmetros e atributos coincidam. Neste exemplo, temos self.arquivo_video = arquivo_video para associar o parâmetro arquivo_video ao atributo self.arquivo_video.
Isso facilita a leitura e padronização do código. No entanto, você também pode diferenciá-los para evitar confusão, caso sinta necessidade, como fizemos com o atributo self.titulo, que recebe valor_do_titulo como parâmetro.
Self e a Função __init__
A função __init__ é o método especial de inicialização de classes em Python, conhecido como construtor da classe. Ele é executado automaticamente toda vez que uma nova instância da classe é criada.
Dentro dessa função, o self é usado para definir os atributos obrigatórios de cada objeto. No nosso exemplo, isso permite que cada instância da classe Filme armazene informações únicas.
Vamos criar o filme Não Olhe Para Cima, com sua descrição e o nome do arquivo de vídeo.
filme1 = Filme("Não olhe para cima","Filme de meteoros e fim do mundo", "nao_olhe_para_cima.mp4")
Neste caso, ao criarmos o objeto filme1 atribuindo a ele a classe Filme, o Python executa o método __init__ da classe e atribui os valores fornecidos aos atributos self.titulo, self.descricao e self.arquivo_video dessa instância.
Dessa forma, podemos acessar os atributos e métodos referentes ao objeto filme1. Por exemplo, ao executarmos o método filme1.assistir_filme(), o método assistir_filme será chamado para essa instância específica.
Esse método usará o self para acessar o título e o arquivo de vídeo específicos do filme Não Olhe Para Cima e também chamará o método calcular_duracao_filme.
Obs.: Para esse exemplo, estamos utilizando o método calcular_duracao_filme com um valor fixo retornado, mas em um sistema completo, ali seriam desenvolvidos os cálculos de duração para cada filme específico de acordo com as informações fornecidas.
filme1 = Filme("Não olhe para cima","Filme de meteoros e fim do mundo", "nao_olhe_para_cima.mp4") filme1.assistir_filme()
Observe que a mensagem exibida no terminal traz as informações conforme definidas no momento de criação do objeto filme1.
Acessando Atributos e Métodos com self
A principal vantagem do self é permitir que os atributos e métodos possam ser chamados de dentro de outros métodos, o que torna o código modular e reutilizável.
Como vimos no caso da função assistir_filme(), que chama o método calcular_duracao_filme() e acessa os atributos arquivo_video e titulo.
Além disso, em Python, os métodos definidos com self no início são chamados de “métodos de instância” e estão disponíveis para todos os objetos criados a partir de uma classe.
Da mesma forma, os atributos desse objeto podem ser acessados e visualizados ao utilizarmos o nome do objeto seguido do nome do atributo que queremos acessar, separados por ponto.
Por exemplo, podemos imprimir o título e a descrição do filme1 dessa forma:
print(filme1.titulo) print(filme1.descricao)
Resumo do que é o Self e para que ele serve?
De forma resumida, o termo self refere-se ao objeto atual da classe, permitindo acessar atributos e métodos dentro de uma instância específica.
O uso do self oferece várias vantagens:
- Acesso consistente aos atributos e métodos da instância;
- Organização do código, mantendo cada instância independente das demais;
- Flexibilidade para criar múltiplas instâncias com dados distintos.
Essas características tornam o self um componente essencial na orientação a objetos em Python, permitindo a criação de aplicações robustas e modulares.
Usando self, você aproveita o potencial da programação orientada a objetos em Python para desenvolver classes e métodos que melhoram a organização do código e permitem o desenvolvimento de projetos mais complexos.
Saiba mais em: Programação Orientada a Objetos! Como Funcionam as Classes?
Conclusão – O que é Self em Python – Explicação Completa
O uso do self é essencial na criação de classes em Python, pois permite associar atributos e métodos diretamente à instância atual, tornando o código modular e reutilizável.
Nessa aula, você aprendeu como utilizar o self para acessar e manipular os dados e comportamentos de cada objeto, tornando seu código mais organizado e eficiente.
Ao entender e usar o self, você dominará um dos conceitos fundamentais da programação orientada a objetos em Python, facilitando o desenvolvimento de aplicativos e sistemas complexos.
Hashtag Treinamentos
Para acessar outras publicações de Python, clique aqui!
Posts mais recentes de Python
- Automação Whatsapp Web com com Python: Guia Completo para Enviar Mensagens com PyWhatKitVocê já imaginou programar o envio de mensagens com uma automação WhatsApp Web com poucas linhas de código?
- Como Gerar Relatórios em PDF com Python (Passo a Passo)Neste tutorial, você vai aprender a transformar dados de uma planilha do Excel em PDFs personalizados usando Python!
- API no Python – O que é e Como Criar Sua Própria API?Nessa aula vamos te mostrar o o que é uma API no Python e como você pode criar sua própria API para seus projetos!
Posts mais recentes da Hashtag Treinamentos
- Funções do Copilot no Excel que vão TRANSFORMAR seu TrabalhoVocê sabia que o Copilot no Excel faz muito mais do que tirar dúvidas? Essa IA pode criar fórmulas, formatar dados e até gerar gráficos por você.
- 30 Frases de Small Talk em Inglês: Tenha Conversas Naturais em InglêsDomine o Small Talk em Inglês com 30 frases práticas para conversas rápidas. Aprenda a pronúncia, os usos e dicas para falar com mais naturalidade.
- Fórmula CALCULATE no Power BI [+Erro Comum e Como Evitar]Nessa aula vamos te mostrar como utilizar a fórmula CALCULATE no Power BI para que possa fazer seus cálculos com filtros específicos!
Expert em conteúdos da Hashtag Treinamentos. Auxilia na criação de conteúdos de variados temas voltados para aqueles que acompanham nossos canais.