Skip to main content

Python Books for Beginners: Where to Start

Ready to learn Python? Python is a powerful, open-source, multi-paradigm programming language used to build websites, access databases, and build software and games. We've asked bootcamp instructors and career changers which books they love to read and recommend. The original recommendations below include beginner introductions, specialist books, and older editions. Use the edition and experience notes to choose a book that fits your next step.

Which Python book should you start with?

  • New to programming: try Think Python, third edition, which is available to read online, or Head First Python, third edition, if you prefer a visual introduction with a web app project.
  • Want a detailed language tutorial: consider Learning Python, sixth edition. Its breadth makes it a longer commitment than a quick starter book.
  • Already comfortable writing small programs: the algorithms and networking books below focus on particular skills. Choose one when you have a reason to study that subject.

Edition matters: several covers and links in the original list refer to older books. Check the Python version before buying a used copy. Work through exercises in your own editor, change an example, and explain the result; reading alone will not show you which parts you can use independently.

1. Head First Python

Author: Paul Barry

Good fit for visual learners. The third edition starts with Python data structures and functions, then builds a Flask web app and introduces data work. The cover below is from an earlier edition; use the third-edition page to check its contents.

2. Core Python

Author: Wesley Chun

An older reference, rather than our first choice for a new learner. The second edition of Core Python Programming teaches the Python 2.x series. Keep that version difference in mind if you already own it; choose a Python 3 introduction for your first course.

3. Data Structures and Algorithms in Python

Authors: Michael T. Goodrich, Roberto Tamassia, Michael H. Goldwasser, 2013

For studying how programs organize data. This 2013 textbook covers data structures and algorithms using Python 3. It is a useful next subject after you can write functions and use lists and dictionaries; beginners looking for their first small project may prefer an introductory book first.

4. Python Algorithms

Author: Magnus Lie Hetland

For algorithm practice after the basics. The second edition focuses on analyzing and implementing algorithms, including recursion and graph problems. Choose it to work on problem-solving techniques once Python syntax is familiar.

5. Foundations of Python Network Programming

Authors: John Goerzen, Brandon Rhodes

For a specific networking goal. Foundations of Python Network Programming, third edition covers sockets, network protocols, HTTP, and email with Python 3. Published in 2014, it is a specialist follow-up; check current library documentation when adapting its examples.

6. Python for Software Design: How to Think like a Computer Scientist

Author: Allen B. Downey

A predecessor to Think Python. The author’s book page describes a gradual introduction with exercises and debugging, and directs readers to the newer Think Python. A new learner can start with Think Python below instead of buying both.

7. Learning Python

Author: Mark Lutz

For a thorough tour of the language. The sixth edition covers Python 3.12, with quizzes and exercises on core language features. Use it if you want detailed explanations and a reference to revisit; the original cover and store link are for an older edition.

8. Programming in Python 3: A Complete Introduction to the Python Language

Author: Mark Summerfield

For readers who have programmed before. The publisher describes this second edition as a tutorial and reference that assumes prior programming experience. It dates to 2009, so expect to consult current documentation for libraries and tools.

9. Dive into Python 

Author: Mark Pilgrim

A historical recommendation for experienced programmers. The 2004 book explains complete programs piece by piece. This is the original Dive Into Python, not a recent beginner guide; choose a modern Python 3 introduction if you are starting from scratch.

10. Python Cookbook

Author: Alex Martelli

A recipe collection for an older Python version. The linked second edition is by Alex Martelli, Anna Ravenscroft, and David Ascher and targets Python 2.4. It is not a step-by-step Python 3 beginner course; treat it as an older reference when reading existing code.

11. Think Python: How to Think Like a Computer Scientist

A free book recommended by Meggie from Hackbright Academy!

A practical starting point for a first-time programmer. Allen B. Downey’s third edition is free to read online and introduces programming with exercises. Meggie’s recommendation above predates this edition; the new edition link is an update for readers choosing a version today.

Looking for courses in Python? Do a quick search on Course Report to start your research!


Liz Eggleston

Written by

Liz Eggleston, CEO and Editor of Course Report

Liz Eggleston is co-founder of Course Report, the most complete resource for students choosing a coding bootcamp. Liz has dedicated her career to empowering passionate career changers to break into tech, providing valuable insights and guidance in the rapidly evolving field of tech education.

Find the path that fits your
career goals

Sign up for bootcamp advice

Enter your email to join our newsletter community.

By submitting this form, you agree to receive email marketing from Course Report.