Introdução a classes
Objetivos da aula
- Compreender o que é classe e objeto.
- Identificar atributos e métodos.
- Criar objetos de uma classe simples e comparar seus dados.
Por que isso importa?
Na POO, você modela coisas do mundo real. Uma classe é o molde e o objeto é a coisa criada.
Classe
Uma classe é um componente fundamental da programação orientada a objetos (POO) que atua como um modelo ou um plano para criar objetos. É uma estrutura que define atributos (dados) e métodos (ações) que os objetos criados a partir dela possuirão. Pode-se pensar em uma classe como um projeto que descreve como um objeto deve ser construído e o que ele é capaz de fazer.
Veja um exemplo de uma classe em Python:

__init__ é um método especial que inicializa os atributos do objeto.
Ele é chamado automaticamente quando criamos um objeto e prepara seus dados iniciais.
Atributos definidos na classe
São variáveis que armazenam informações relacionadas a um objeto. Esses atributos definem as características ou propriedades que os objetos terão.
Métodos da Classe
São funções que descrevem o comportamento ou ações que os objetos dessa classe podem executar. Os métodos representam o que os objetos podem fazer.
Objeto
Um objeto é uma instância concreta de uma classe. Ele é uma entidade que possui seus próprios valores para os atributos definidos na classe e pode executar os métodos especificados na classe. Cada objeto é independente dos outros, o que significa que eles podem armazenar diferentes valores de atributos e realizar ações de forma independente.
Para a classe dada anteriormente, podemos ter os seguintes objetos:

Atributos do Objeto
São os dados armazenados em cada instância. No exemplo, self.nome, self.idade e self.notas são atributos do objeto, também chamados de atributos de instância.
Veja um exemplo:

Métodos do Objeto
São as ações que um objeto pode realizar, de acordo com os métodos definidos na classe. Cada objeto pode chamar esses métodos e executar ações específicas.
Veja um exemplo:

Classes e Objetos em Python
Neste primeiro encontro, acompanhe a criação dos objetos e identifique seus dados e ações. Na aula de atributos e métodos, vamos aprofundar a implementação dessas ações.
Veja o código-fonte completo do exemplo passado anteriormente:
Entendendo o código, uma parte de cada vez
class Aluno:define o nome da classe. Por convenção, nomes de classes começam com letra maiúscula.__init__recebe os dados iniciais e prepara os atributos de cada aluno.selfrepresenta o objeto que está executando o método. Assim,self.nomeé o nome daquele aluno.Aluno('João', 15)cria uma instância. A variávelaluno1passa a se referir a esse objeto.- A notação com ponto permite acessar atributos e chamar métodos:
aluno1.nomeealuno1.calcular_media().
aluno1.adicionar_nota(8), o Python passa o objeto como self automaticamente. Você informa apenas a nota.
O trecho if __name__ == '__main__': faz com que o exemplo de uso seja executado quando o arquivo é iniciado diretamente. Se ele for importado por outro arquivo, as classes continuam disponíveis, mas esse trecho não é executado.
Outro exemplo de uso de classes e objetos
Exemplo 1: Catálogo de Filmes
Verifique o exemplo para gerenciar uma lista de filmes através de classes:
Resumo rápido
- Classe é o modelo usado para criar objetos.
- Objeto é uma instância da classe, com seus próprios dados.
- Atributos guardam informações e métodos representam ações.
__init__prepara os dados iniciais;selfrepresenta o objeto.