Módulo 10 - Orientação a objetos: classes
Criando uma classe
9 min de leitura · por Cesar Gargiulo, revisado pela equipe ValorFinal e GuardiaSec · Atualizado em 01/07/2026
O que você vai aprender
- Escrever uma classe usando a palavra reservada class.
- Entender que a classe é o molde e não faz nada sozinha.
- Criar objetos chamando o nome da classe, como Conta().
- Reconhecer que cada objeto criado é independente dos demais.
Ouvir o resumo desta aula
Um recap de cerca de 2 minutos na voz do Valim, para ouvir no trânsito ou na academia.
Ler a transcrição do resumo
Resumo da aula: Criando uma classe.
Os objetivos desta aula. Escrever uma classe usando a palavra reservada class. Entender que a classe é o molde e não faz nada sozinha. Criar objetos chamando o nome da classe, como Conta(). Reconhecer que cada objeto criado é independente dos demais.
Veja o essencial, parte por parte.
A palavra class. Uma classe se escreve com a palavra class seguida do nome e de dois-pontos.
Criando o objeto com Nome(). Esquecer os parênteses: Conta é a classe; Conta() é um objeto criado dela.
Cada objeto é independente. A independência entre os objetos é o que torna a orientação a objetos útil.
Esse foi o resumo do essencial. Para se aprofundar, leia a aula completa e responda os exercícios.
A palavra class
Criar uma classe em Python começa com a palavra reservada class, o nome da classe e dois-pontos, seguidos de um bloco indentado, igual a uma função ou a um if. Por convenção da comunidade, o nome de uma classe usa CamelCase: cada palavra começa com maiúscula e não há espaços nem sublinhados, como em Conta, ContaBancaria ou Aluno. Isso ajuda a bater o olho e saber que aquilo é uma classe, e não uma variável comum.
class Conta:
pass
print(Conta) # <class '__main__.Conta'>A classe mais simples possível: só o molde, ainda sem conteúdo, usando pass.
A classe acima está vazia. Como o Python exige um corpo depois dos dois-pontos, usamos pass, uma instrução que não faz nada e serve só para preencher o espaço. Repare que definir a classe não cria nenhuma conta, do mesmo jeito que ter a forma de bolo não assa nenhum bolo. A classe é o molde; ela fica ali, pronta, esperando você pedir objetos. Ao imprimir Conta, o Python mostra que aquilo é uma classe, não um objeto ainda.
Criando o objeto com Nome()
Para transformar o molde em coisa de verdade, você instancia a classe: escreve o nome dela seguido de parênteses, como se fosse uma chamada de função. Cada chamada assa um bolo novo. O resultado é um objeto, que você costuma guardar em uma variável para usar depois. Chamar Conta() duas vezes cria dois objetos diferentes, cada um com o seu próprio lugar na memória, mesmo que ainda não tenham nenhum dado dentro.
class Conta:
pass
conta_ana = Conta()
conta_bruno = Conta()
print(conta_ana) # <__main__.Conta object at 0x000001...>
print(conta_bruno) # <__main__.Conta object at 0x000002...>
print(conta_ana is conta_bruno) # FalseDuas instâncias da mesma classe. São objetos distintos, com endereços diferentes.
Ao imprimir cada objeto, o Python mostra que ele é um objeto da classe Conta e um endereço de memória, que muda de execução para execução. O que importa é o teste conta_ana is conta_bruno, que devolve False: são dois objetos independentes. Um bolo não é o outro, ainda que tenham saído da mesma forma. Nas próximas aulas você vai dar recheio a cada um, guardando dados como titular e saldo dentro de cada objeto.
Cada objeto é independente
A independência entre os objetos é o que torna a orientação a objetos útil. Você escreve a classe uma única vez e produz quantos objetos quiser, cada um com vida própria. Em um sistema de banco, isso significa uma classe ContaBancaria e centenas de contas criadas dela, sem copiar e colar código. Adicionar uma conta nova é só chamar Conta() de novo. Toda a estrutura vem de graça, porque está garantida pelo molde.
class Produto:
pass
# Criando vários objetos em uma lista
produtos = [Produto() for _ in range(3)]
print(len(produtos)) # 3
print(type(produtos[0])) # <class '__main__.Produto'>
print(isinstance(produtos[0], Produto)) # TrueTrês objetos Produto criados de uma vez. type e isinstance confirmam a classe.
No exemplo, uma compreensão de lista cria três produtos de uma vez. A função type mostra a classe de um objeto, e isinstance confirma se um objeto pertence a uma classe, respondendo True. Essas duas funções aparecem muito na prática, quando você precisa saber com que tipo de objeto está lidando. Por ora, o essencial é a mecânica: class para definir o molde, Nome() para criar objetos, e cada objeto seguindo o seu caminho. Na próxima aula, os objetos deixam de nascer vazios e passam a receber dados no momento da criação.
Teste rápido
Qual linha cria um novo objeto a partir da classe Conta?
Perguntas frequentes
- Por que o nome da classe começa com letra maiúscula?
- É a convenção CamelCase, recomendada pela comunidade Python no guia de estilo. Classes com inicial maiúscula (Conta, ContaBancaria) ficam fáceis de distinguir de variáveis e funções, que usam minúsculas. O Python não obriga, mas seguir a convenção deixa o código legível para todos.
- Para que serve o pass dentro da classe?
- O pass é um recheio que não faz nada. O Python exige um corpo depois dos dois-pontos da classe, então, enquanto você ainda não tem métodos nem atributos, o pass ocupa esse espaço sem dar erro. Assim que a classe ganha conteúdo, o pass sai.
- Qual a diferença entre Conta e Conta()?
- Conta, sem parênteses, é a própria classe, o molde. Conta(), com parênteses, executa a criação e devolve um objeto novo, uma instância da classe. É como a diferença entre a forma de bolo e o bolo que sai dela.
- Quantos objetos posso criar de uma mesma classe?
- Quantos você precisar, sem limite prático além da memória do computador. Escreve-se a classe uma vez e chama-se Nome() cada vez que uma coisa nova aparece. Cada objeto é independente e guarda os seus próprios dados.
- O endereço estranho que aparece ao imprimir o objeto é problema?
- Não. É a exibição padrão do Python para um objeto sem uma forma amigável de ser mostrado: o nome da classe e um endereço de memória. Na aula sobre __str__ você aprende a substituir esse texto por algo legível, como Conta de Ana, saldo R$ 500.
- O que faz a função isinstance?
- isinstance(objeto, Classe) responde True se aquele objeto foi criado a partir daquela classe, e False caso contrário. É útil para checar o tipo de um objeto antes de usá-lo. A função type mostra a classe diretamente, enquanto isinstance faz a verificação.
Fontes
Seu progresso fica salvo neste aparelho. Assinantes sincronizam entre os aparelhos.