Classe Objeto e Instância no Python – Você Sabe Qual a Diferença Entre Eles?
Você sabe qual a diferença entre Classe Objeto e Instância no Python? Então vem comigo que eu vou te mostrar cada um deles!
Em Python, a classe é o molde que define atributos e métodos; o objeto (ou instância) é cada elemento criado a partir desse molde. Por exemplo, a classe Carro descreve o que todo carro tem; cada carro específico que você cria é um objeto. Instância é o nome técnico para esse objeto gerado a partir da classe.
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!
O que você aprende neste vídeo
Resposta rápida: Neste vídeo, o instrutor esclarece a diferença entre classe, objeto e instância no Python. A classe é o molde (define os atributos, ex.: a classe Filme); cada item criado a partir dela é uma instância (cada filme da Netflix). E objeto é o termo geral, tudo no Python é objeto (até um texto é uma instância da classe str, por isso tem métodos como .replace).
Neste vídeo (9 min):
- 0:00 - A dúvida: qual a diferença entre classe, objeto e instância no Python.
- 3:00 - A classe é o molde: define os atributos (ex.: a classe Filme/Usuário).
- 4:00 - A instância: cada item criado a partir da classe (cada filme da Netflix).
- 5:00 - Objeto é o termo geral: tudo no Python é objeto (um texto é instância de
str).
Diferença Entre Classe Objeto e Instância em Python
Você provavelmente já ouviu falar em classe, objeto e instância no Python, mas você sabe o que são cada um deles?
Sabe quais são as diferenças entre eles? Nessa aula eu quero te mostrar essas diferenças para que você entenda cada um deles!
Além disso, vou deixar o link de um site que detalha melhor cada um deles, inclusive, tem alguns exemplos práticos para que você teste cada um deles e entenda as diferenças de uma vez!
Classe Objeto e Instância no Python
Para esse nosso exemplo vamos supor que você está criando uma réplica do site da Netflix, que é um dos projetos que fazemos no nosso Curso Completo de Python.
Classe no Python
Vamos iniciar com as classes para que entenda o que são elas e onde você pode utilizá-las dentro do seu código em Python.
Então dentro desse site você teria que criar as coisas que compõem esse site, como: filmes, séries, usuários, perfis de usuários…
A criação deles é feita por meio das classes, então na hora de criar vamos fazer dessa maneira.
# Filmes
# Series
# Usuarios
# Perfis de Usuarios
class Filme():
atributos
metodosNós vamos definir os atributos/características dessa classe. Então quais seriam os atributos de filme? Duração, imagem inicial, atores, descrição…
Esses atributos são as informações do filme, então quando você abre um filme no seu aplicativo de streaming, você vai conseguir visualizar todas essas informações de cada filme.
Temos que definir também os métodos/funções desse filme. Então o que o usuário pode fazer com o filme? Pode dar play, salvar, pausar…
Aqui são as ações que você pode fazer com cada um dos filmes. Diferente dos atributos que você só visualiza, aqui você vai poder interagir.
Então pode selecionar o filme, começar, pausar, salvar, curtir, colocar na lista…
Para cada elemento do seu site você vai criar uma classe, e dentro dela, você vai colocar os atributos e métodos dessa classe.
Nesse caso, você vai ter tanto os atributos quanto os métodos de cada um dos elementos, então vamos ter para filmes, séries, usuários…
Lembrando que você não precisa criar diferentes métodos e atributos para cada elemento. Se criou para filme, você pode utilizar esses mesmos métodos e atributos para todos os outros filmes.
Dessa forma você evita ter que ter um retrabalho para repetir o mesmo procedimento várias e várias vezes de forma desnecessária.
Instância no Python
A instância seria como se fosse um elemento dessa classe específica, então se você colocasse no seu código filme = Filme().
Você estaria criando uma instância da classe filme, ou seja, cada um dos filmes do seu site serão uma instância da classe filme. Isso quer dizer que vai ter todas as características da sua classe filme.
Então você pode fazer:
- filme.play
- filme.duracao
Todos os métodos criados para a classe filme, serão ser atribuídos também para cada instância, ou seja, você não precisa criar isso de novo para cada filme.
Então se você tem play, duração, pause, descrição, elenco, trailer… você vai ter tudo isso nas instâncias que criar, até porque você vai ter mais de um filme no seu site e todos eles vão ter esses métodos e atributos.
Isso quer dizer que você não precisa recriar esses métodos e atributos para cada um dos filmes que você tenha, até porque isso seria inviável.
Imagine que você tenha 100 filmes e para cada um deles você tenha que definir os métodos e atributos, pense no tempo que iria demorar pra fazer isso.
Dessa forma você pode ter um classe para cada elemento, mas pode ter várias instâncias dessa mesma classe.
Isso faz com que seu código seja mais eficiente e você não tenha um trabalho muito grande na hora de replicar os métodos e atributos de cada classe.
Objeto no Python
Você já deve ter ouvido falar que tudo no Python é um objeto, e isso é verdade!
A classe que mostramos é um objeto, a variável filme que criamos é um objeto do tipo Filme().
texto = "Meu nome é Lira"Esse texto (variável) é um objeto, que é uma instância da classe string (da classe texto), ou seja, é um objeto do tipo string.
O mesmo vai valer para qualquer outra variável seja ela string, int, double… Veja que os objetos são de algum tipo, então podemos ter o objeto do tipo Filme() que é um objeto de uma classe.
Se quiser, você pode visitar o site abaixo que ele vai ter mais detalhes sobre Classes e Objetos para que você se aprofunde mais nessa parte.
https://panda.ime.usp.br/pensepy/static/pensepy/13-Classes/classesintro.html
Além disso ele comenta sobre as instâncias também, fora que você consegue rodar os códigos de exemplo na própria página, o que vai te auxiliar a absorver melhor o conteúdo!
Esse link que mostrei tem uma parte mais detalhada desses assuntos que comentei aqui na aula, a ideia era te mostrar a diferença entre cada um deles.
Mas você pode aprofundar seus estudos para entender objetos, classes e instâncias para se tornar mais eficiente em programação, e claro, utilizar isso nos seus códigos de forma correta e eficiente!
Perguntas frequentes
1. Qual a diferença entre classe e objeto no Python?
A classe é o modelo que define os atributos e comportamentos; o objeto é uma cópia concreta criada a partir dela. A classe Cachorro define o conceito; um cachorro específico, com nome e raça, é um objeto dessa classe.
2. O que é uma instância no Python?
Instância é o objeto criado a partir de uma classe. Quando você escreve meu_carro = Carro(), a variável meu_carro é uma instância da classe Carro. Cada instância tem seus próprios valores de atributos, mesmo compartilhando a mesma estrutura.
3. Objeto e instância são a mesma coisa?
Na prática, sim. ‘Objeto’ é o termo geral e ‘instância’ enfatiza que ele foi criado a partir de uma classe específica. Dizer ‘um objeto da classe Carro’ e ‘uma instância da classe Carro’ significa exatamente o mesmo.
4. Como criar um objeto a partir de uma classe?
Chame a classe como se fosse uma função: objeto = NomeDaClasse(). Isso executa o método __init__ e devolve uma nova instância. A partir dela você acessa atributos e métodos com a notação de ponto, como objeto.atributo.
Conclusão
Essa foi uma aula rápida, mas para te mostrar as diferenças entre Classe, Objeto e Instância no Python.
Então quando alguém perguntar o que é classe em Python? O que é objeto em Python? Ou O que é instância em Python? Você já vai saber o que responder!
E claro, isso vai te ajudar no seu estudo com a linguagem de programação Python para que você consiga utilizá-la cada vez melhor!
Isso é importante não só para que você saiba diferenciar, mas saiba quando utilizar cada um deles, além de facilitar o seu estudo de Python!
Hashtag Treinamentos
Para acessar outras publicações de Python, clique aqui!


