O Python Odyssey é um repositório pessoal criado para registrar, organizar e documentar toda a minha trajetória como programador Python. Aqui você encontrará:
- 📚 Anotações de estudos — resumos de livros, cursos e artigos
- 🧪 Exercícios práticos — desde os mais simples até os mais complexos
- ♻️ Refatorações — código revisitado com novos conhecimentos
- 🗄️ Banco de dados — estudos de SQL integrados com Python
- 🧩 POO — projetos e exemplos aplicando Orientação a Objetos
- 🗒️ Diário de progresso — reflexões e marcos da jornada
Este repositório funciona como um diário de bordo técnico: cada commit é um passo, cada pasta é um capítulo, e cada arquivo é uma lição aprendida.
"Não basta aprender a programar. É preciso dominar a arte de pensar como um programador."
O objetivo central deste repositório é dominar a linguagem Python em toda a sua extensão — desde a sintaxe fundamental até os paradigmas mais avançados. A meta não é apenas escrever código que funciona, mas escrever código que é limpo, eficiente, legível e bem estruturado.
| Fase | Descrição | Status |
|---|---|---|
| 🟢 Fundamentos | Variáveis, condicionais, loops, funções | Em andamento |
| 🔵 Estruturas de Dados | Listas, dicionários, tuplas, sets | Em andamento |
| 🟣 POO | Classes, herança, polimorfismo, encapsulamento | Em andamento |
| 🟡 SQL + Python | Integração com bancos de dados | Em andamento |
| 🔴 Projetos reais | Aplicações completas do zero | Pendente |
| ⚫ Avançado | Decorators, generators, async, metaclasses | Pendente |
python-odyssey/
│
└── 📂 cursos/
└── 📂 curso-em-video/
├── 📂 mundo-1/ # Fundamentos da linguagem
│ ├── 📂 anotacoes/ # Anotações das aulas
│ ├── 📂 aulas/ # Arquivos das aulas
│ ├── 📂 exercicios/ # Exercícios resolvidos
│ ├── 📂 notebooks/ # Notebooks Jupyter
│ └── 📂 refatoracoes/ # Código revisitado e melhorado
├── 📂 mundo-2/ # Em breve...
└── 📂 mundo-3/ # Em breve...
Para manter um histórico de evolução claro e rastreável, todos os commits seguem o padrão Conventional Commits adaptado para este repositório:
<tipo>(<escopo>): <descrição curta no imperativo>
| Tipo | Uso |
|---|---|
estudo |
Adição de anotações, resumos ou conteúdo teórico |
exercicio |
Novo exercício resolvido |
projeto |
Criação ou atualização de um projeto |
refactor |
Refatoração de código existente |
fix |
Correção de erro em código ou anotação |
docs |
Alterações em documentação (README, comentários) |
sql |
Conteúdo relacionado a banco de dados e SQL |
poo |
Conteúdo relacionado a Orientação a Objetos |
chore |
Tarefas de organização, renomeação de arquivos etc. |
estudo(fundamentos): adiciona anotações sobre funções lambda
exercicio(listas): resolve desafio de remoção de duplicatas
refactor(poo): simplifica classe Conta com property decorator
sql(integracao): cria script de conexão com SQLite
docs(readme): atualiza estrutura de pastas do repositório
projeto(agenda): adiciona funcionalidade de busca por contato
fix(loops): corrige lógica do while no exercício 07- ✔️ Use o imperativo na descrição: "adiciona", "corrige", "cria" — não "adicionado" ou "adicionei"
- ✔️ Mantenha a descrição curta e objetiva (máx. 72 caracteres)
- ✔️ Agrupe mudanças relacionadas em um único commit
- ✔️ Evite commits genéricos como
update,fix,changes - ✔️ Se necessário, use o corpo do commit para explicar o porquê da mudança
Este é um repositório pessoal de estudos, mas sinta-se à vontade para:
- ⭐ Dar uma estrela se achar o projeto inspirador
- 🍴 Fazer um fork para criar a sua própria Odyssey
- 💬 Abrir uma issue com sugestões de exercícios ou recursos
Feito com 💛 e muito print("hello, world") por Andrei S.T.
"A jornada de mil milhas começa com um único passo." — Lao Tsé