Livros perfeitos para quem nunca escreveu uma linha de código. Foco em construir uma base sólida de forma amigável e com resultados rápidos.
- Python Crash Course, 2nd Edition (Curso Intensivo de Python) por Eric Matthes
- Automate the Boring Stuff with Python (Automatize Tarefas Maçantes com Python) por Al Sweigart
- Python for Everybody (Python para Todos) por Charles R. Severance
- Think Python, 2nd Edition (Pense em Python) por Allen B. Downey
- The Self-Taught Programmer (O Programador Autodidata) por Cory Althoff
- Head First Python, 2nd Edition (Use a Cabeça! Python) por Paul Barry
- Invent Your Own Computer Games with Python por Al Sweigart
- Python for Kids: A Playful Introduction to Programming por Jason R. Briggs
Para quem já domina a sintaxe e quer escrever código mais robusto, idiomático e se aprofundar em áreas específicas.
- Effective Python: 90 Specific Ways to Write Better Python por Brett Slatkin
- Serious Python: Black-Belt Advice on Deployment, Scalability, Testing, and More por Julien Danjou
- Grokking Algorithms (Entendendo Algoritmos) por Aditya Bhargava
- Python for Data Analysis, 3rd Edition por Wes McKinney
Para quem busca maestria na linguagem e nos princípios avançados de engenharia de software.
- Fluent Python, 2nd Edition (Python Fluente) por Luciano Ramalho
- Using Asyncio in Python por Caleb Hattingh
- Python Testing with pytest por Brian Okken
Quando você quer sofrer, mas aprender muito durante o processo.
- Structure and Interpretation of Computer Programs (SICP)
- Introduction to Computation and Programming Using Python por John V. Guttag
- CPython Internals: Your Guide to the Python 3 Interpreter por Anthony Shaw
- High Performance Python por Micha Gorelick & Ian Ozsvald
A teoria ensina o caminho, mas a prática constrói o músculo. Estes livros são focados em oferecer um grande volume de problemas para você resolver e realmente internalizar os conceitos.
- The Python Workbook: A Brief Introduction with Exercises and Solutions por Ben Stephenson
- Contém mais de 175 exercícios, cobrindo desde a sintaxe básica até tópicos mais complexos. É o companheiro ideal para qualquer outro livro teórico, permitindo que você aplique imediatamente o que aprendeu.
- Cracking the Coding Interview por Gayle Laakmann McDowell
- Embora focado em preparação para entrevistas em big techs, é uma das melhores coleções de problemas de algoritmos e estruturas de dados que existem. Resolver seus desafios força você a pensar criticamente e a otimizar suas soluções.
- Python by Example: Learning to Program in 150 Challenges por Nichola Lacey
- Começa com desafios muito simples e aumenta a dificuldade gradualmente. É perfeito para iniciantes que se sentem perdidos e querem uma trilha clara de exercícios para ganhar confiança.
- Doing Math with Python por Amit Saha
- Para quem tem afinidade com matemática e quer ver aplicações práticas. O livro ensina conceitos matemáticos (álgebra, estatística, cálculo) e imediatamente propõe exercícios para implementá-los em Python, tornando a matemática interativa e visual.
A leitura é altamente recomendada, não como um manual de regras, mas como um tratado histórico para entender a evolução do pensamento em engenharia de software.
-
Clean Code (Código Limpo) por Robert C. Martin (Uncle Bob)
- Foi revolucionário por dar aos desenvolvedores uma linguagem para discutir a qualidade do código como um ofício (craftsmanship). Seus princípios ajudaram a organizar bases de código caóticas no mundo inteiro.
- É criticado por ser dogmático, focado em excesso no Java (muitas regras não são idiomáticas em Python) e por promover um estilo de micro-otimização (funções minúsculas, classes para tudo) que pode levar a um código fragmentado e super-engenheirado.
- Leia para entender a filosofia da "limpeza", mas questione cada regra. Use os princípios como guia, não como lei.
-
Design Patterns: Elements of Reusable Object-Oriented Software (Padrões de Projeto) por "Gang of Four" (GoF)
- É o livro que catalogou e deu nome aos padrões de projeto. Criou um vocabulário essencial para qualquer arquiteto de software (Singleton, Factory, Observer, etc.) e é uma obra fundamental da ciência da computação.
- A crítica principal é que muitos padrões são soluções para deficiências de linguagens como C++ e Java. Em linguagens modernas como Python, recursos como funções de primeira classe e decoradores resolvem os mesmos problemas de forma muito mais simples. A aplicação cega dos padrões GoF em Python quase sempre leva a um código verboso e desnecessariamente complexo.
- Conheça os padrões para identificar os problemas que eles resolvem, mas sempre procure primeiro a solução "Pythônica" mais simples.
-
The Pragmatic Programmer (O Programador Pragmático) por David Thomas e Andrew Hunt
- Um clássico amado, cheio de conselhos práticos sobre a mentalidade e as práticas de um desenvolvedor eficaz. Dicas como "DRY" (Don't Repeat Yourself) e "Rubber Duck Debugging" se tornaram parte da cultura dev.
- É Algumas dicas técnicas da primeira edição ficaram datadas (a edição de 20 anos corrige isso). Críticos apontam que alguns conselhos são vagos ("Care About Your Craft") e que princípios como o DRY são frequentemente mal interpretados, levando a abstrações prematuras e ruins.
- Entenda o espírito por trás das dicas, em vez de seguir a letra da lei.