Classes em Python
Em Python, uma classe é como uma planta baixa ou um molde para criar objetos. Ela define um conjunto de atributos (dados) e métodos (funções) que os objetos criados a partir dela terão.
Esse é um conceito fundamental da Programação Orientada a Objetos (POO), que ajuda a organizar o código de forma lógica, reutilizável e fácil de manter.
Vamos criar um exemplo prático. Imagine que precisamos armazenar informações de clientes. Cada cliente terá um nome, um telefone e uma data de nascimento.
Criando a Classe Cliente
Primeiro, definimos nossa “planta baixa” usando a palavra-chave class.
class Cliente:
# Método construtor
# É chamado automaticamente quando criamos um novo objeto.
def __init__(self, nome, telefone, data_nascimento):
# 'self' representa a instância do objeto criado.
# Armazenamos os valores recebidos nos atributos do objeto.
self.nome = nome
self.telefone = telefone
self.data_nascimento = data_nascimento
O que aconteceu aqui?
-
class Cliente:
Criamos uma classe chamadaCliente. -
def __init__(self, ...):
Este é o método construtor. Ele é executado automaticamente sempre que um novo objeto da classe é criado. -
self
É uma referência ao próprio objeto. Utilizamosselfpara criar e acessar atributos e métodos pertencentes àquela instância específica. -
self.nome = nome
Pegamos o valor recebido no parâmetronomee o armazenamos no atributonomedo objeto. O mesmo acontece comtelefoneedata_nascimento.
Usando a Classe para Criar Objetos
Agora que temos o molde, podemos criar clientes de verdade. Cada cliente será um objeto (ou uma instância) da classe Cliente.
# Criando o primeiro cliente
cliente1 = Cliente("João da Silva", "(11) 99999-8888", "10/05/1990")
# Criando o segundo cliente
cliente2 = Cliente("Maria Oliveira", "(21) 98765-4321", "25/11/1985")
# Acessando os dados dos objetos
print(f"Nome do Cliente 1: {cliente1.nome}")
print(f"Telefone do Cliente 2: {cliente2.telefone}")
Saída
Nome do Cliente 1: João da Silva
Telefone do Cliente 2: (21) 98765-4321
Conclusão
Como você pode ver, a classe Cliente nos permite criar uma estrutura organizada para armazenar dados relacionados a clientes.
Cada objeto (cliente1 e cliente2) possui seus próprios valores para nome, telefone e data de nascimento, mas todos seguem o mesmo padrão definido pela classe.
Essa é uma das principais vantagens da Programação Orientada a Objetos: criar modelos reutilizáveis que facilitam a organização e a manutenção do código.
