The best books for a rock solid python programming foundation

Who am I?

Some programmers learn through online articles, videos, and blog posts. Not me. I need a throughline—a consistent, expert distillation of the material to take me from where I am to where I want to be. I am not good at patching together information from disparate sources. I need a great book. I have a PhD in computer science education, and I want to know what helps people learn. More importantly, I want to know how we can use such discoveries to write more effective books. The books I appreciate most are those that demonstrate not only mastery of the subject matter but also mastery of teaching.


I wrote...

Learn to Code by Solving Problems: A Python Programming Primer

By Daniel Zingaro,

Book cover of Learn to Code by Solving Problems: A Python Programming Primer

What is my book about?

You want your slippers to be fuzzy – not your grasp of Python programming. Build a rock solid Python programming foundation from an author who has built their career studying how students learn. Solve problems all the way through. Check your progress with Test Your Understanding questions. Practice solving new problems with full sample solutions. Wanna master Python power features like lists, dictionaries, and sets? Wanna know how to write code that’s fast? Wanna develop the skills that will help you become not only a Python expert but an expert in whatever programming language you want to learn next? It’s all here. Let’s roll!

The books I picked & why

Shepherd is reader supported. We may earn an affiliate commission when you buy through links on our website. This is how we fund this project for readers and authors (learn more).

Mission Python: Code a Space Adventure Game!

By Sean McManus,

Book cover of Mission Python: Code a Space Adventure Game!

Why this book?

Learning how to program in Python and make a video game at the same time. Hmm – sounds like learning your native language while writing a novel. That could be messy. Could be – but not with this book. McManus knows video games. McManus knows how to teach. I love the idea of teaching a programming language through one extended context. If, like me, you’re fascinated by retro video games, get this book and let that fascination propel you through your beginning programming journey. Bonus feature: commitment to the bit; everything is in space!


Python for Everybody: Exploring Data in Python 3

By Charles R. Severance,

Book cover of Python for Everybody: Exploring Data in Python 3

Why this book?

Learning to program is hard. We need teachers who remember this, who are patient, who support the learning process, who not only know how to teach but also know how to learn from their teaching. Severance is all of these things. I like the breezy but precise writing, sections on debugging, glossaries and exercises in each chapter, and discussion of common learner errors. Bonus feature: regular expressions.


Hello World! A Complete Python-Based Computer Programming Tutorial with Fun Illustrations, Examples, and Hand-On Exercises.

By Warren Sande, Carter Sande,

Book cover of Hello World! A Complete Python-Based Computer Programming Tutorial with Fun Illustrations, Examples, and Hand-On Exercises.

Why this book?

I’m a kid at heart. (My favourite book genre is middle grade fiction.) Don’t be put off by a book with "kids" in the subtitle. And what an ebullient book this is! I unapologetically laugh at this book’s humour. I like the short chapters with measurable progress in each one; I like the easy GUI programming to get us started; I like the computational study of probability and randomness. I could quibble over the order that some topics are introduced, and some of the forward references… but, you know what? I won’t. This author duo gets it. Bonus feature: that sneaky way of introducing mutability in Chapter 2. Bonus feature #2: SkiFree.


Get Programming: Learn to Code with Python

By Ana Bell,

Book cover of Get Programming: Learn to Code with Python

Why this book?

Bell is an expert teacher. I like the order of topics; the breakdown of topics into units; the short, targeted lessons in each unit; the varied capstone projects to tie things together; the explicit learning goals; the structured approach to solving problems. The first bit of code that you’ll write is on page 30. Your first complete program is on page 60. What’s up with those first 59 pages, then? Motivation, comparisons to daily life, setup, and building blocks. Things that other authors tend to skip but that may be important for some learners. Bonus feature: “I try not to forget what it’s like to start learning to program from scratch, no matter how many times I teach the course.”


Python for Everyone

By Cay S. Horstmann, Rance D. Necaise,

Book cover of Python for Everyone

Why this book?

I used this book for several years starting in 2013 when the first edition came out. It absolutely holds up today. Learning the Python language (the syntax) is one thing. Learning how to design programs using this syntax is another. We need both but, unfortunately, many books forgo the latter for the former. Not this book! I like the Problem Solving and Worked Example sections: they help learners apply a disciplined, step-by-step strategy to programming projects. There are multiple, varied contexts here as well, which helps capture a broader base of learners. Bonus feature: the Computing & Society boxes.


5 book lists we think you will like!

Interested in python, computer programming, and rock music?

5,888 authors have recommended their favorite books and what they love about them. Browse their picks for the best books about python, computer programming, and rock music.

Python Explore 25 books about python
Computer Programming Explore 23 books about computer programming
Rock Music Explore 129 books about rock music

And, 3 books we think you will enjoy!

We think you will like The Pragmatic Programmer, Beyond the Basic Stuff with Python, and Practices of the Python Pro if you like this list.