Resumo de Programacao Orientada a Objetos (POO) em Python
✨ Conceitos Fundamentais:
1. Classe
• Um "molde" ou estrutura que define atributos e comportamentos (métodos).
class Produto:
def __init__(self, nome, preco):
self.nome = nome
self.preco = preco
2. Objeto (Instância)
• Uma ocorrência concreta da classe. Cada objeto tem seus próprios dados.
p1 = Produto("Camisa", 29.90)
3. Atributos
• Variáveis ligadas ao objeto.
self.nome = nome # atributo
4. Métodos
• Funções dentro da classe que operam sobre os atributos.
def exibir(self):
print(f"Produto: {self.nome}")
5. Construtor: ``
• Método especial que é executado ao criar o objeto.
6. ``
• Referência ao próprio objeto. Necessária para acessar atributos e outros métodos dentro da
classe.
1
🛠️ A Classe list e Outras Estruturas Nativas:
Exemplos:
numeros = [1, 2, 3] # objeto da classe list
texto = "Python" # objeto da classe str
dados = {"a": 1} # objeto da classe dict
Tudo é objeto:
print(type(numeros)) # <class 'list'>
print(type(texto)) # <class 'str'>
Como descobrir os métodos de um objeto:
dir(texto) # lista de métodos
help(str) # documentação oficial da classe
list comprehension :
linhas = ["nome,idade"]
cabecalho = [campo.strip() for campo in linhas[0].strip().split(",")]
• campo é uma string
• campo.strip() chama o método da classe str
🔍 Classe personalizada de exemplo:
class CarrinhoDeCompras:
def __init__(self):
self.itens = []
def adicionar_item(self, nome, preco):
self.itens.append({"nome": nome, "preco": preco})
def remover_item(self, nome):
for item in self.itens:
if item["nome"] == nome:
self.itens.remove(item)
break
def listar_itens(self):
for item in self.itens:
print(f"{item['nome']} - R$ {item['preco']:.2f}")
2
def calcular_total(self):
total = sum(item["preco"] for item in self.itens)
print(f"Total: R$ {total:.2f}")
🏋️ Hierarquia de Conceitos em POO:
PROGRAMA ORIENTADO A OBJETOS
|
|— 1. CLASSE
| └─ Estrutura/molde de objetos
|— 2. OBJETO
| └─ Instância da classe
|— 3. ATRIBUTOS
| └─ Variáveis internas (estado)
|— 4. MÉTODOS
| └─ Ações/comportamentos
|— 5. CONSTRUTOR (__init__)
|— 6. SELF (auto-referência)
|— 7. ENCAPSULAMENTO (organiza e protege)
|— 8. HERANÇA (reutiliza classes)
└─ 9. POLIMORFISMO (comportamentos diferentes com o mesmo nome)
📄 Dica Final:
• Use type() para descobrir a classe de um objeto
• Use dir() para listar os métodos
• Use help() para aprender mais sobre a classe
Se quiser ampliar esse resumo com herança, polimorfismo ou exercícios práticos, é só pedir!