First Commit
Menu

The best books to learn Python: one is free, one costs $49.99

Written Sep 24, 2026

The best Python book for most beginners is free, and the best-selling one costs $49.99 in print. Both are worth knowing about, and choosing between them is less about quality than about what you want a book to do that a course cannot.

Books are unfashionable for learning to code and remain very good at one thing: holding a complete, ordered explanation that does not move while you are reading it. A course is a sequence of moments; a book is a map.

Automate the Boring Stuff with Python — free, third edition

Al Sweigart's book is free to read online under a Creative Commons licence, in its third edition, with a workbook companion that is also free to read. Print and ebook editions are sold, and the author's own page states that over half a million copies have been sold — his claim, not a figure we can audit.

What makes it the right first book is its subject. It teaches Python through tasks a normal person actually has: renaming a pile of files, reading a spreadsheet, pulling something off a web page. That matters more than it sounds, because the commonest reason beginners drift away is not difficulty but pointlessness — a fortnight of exercises with no visible use.

It is not a computer-science education and does not pretend to be. Pair it with a course that covers the fundamentals properly.

Python Crash Course, 3rd Edition — $49.99 in print

Eric Matthes's book, published by No Starch Press in December 2022, runs to 552 pages with ISBN 9781718502703. Its publisher charges $49.99 for the print book, which includes the ebook, or $39.99 for the ebook alone. No Starch calls it "the world's best-selling guide to the Python programming language" — its own description of its own book.

The structure is the reason people recommend it: roughly half fundamentals, then three substantial projects — an arcade game, a set of data visualisations and a web application. That second half is what a course usually skimps on, and what turns exercises into something you can point at.

The date matters. December 2022 means it predates several things you will meet in current tooling, and a third edition of a book is not updated the way a website is. Nothing in Python's fundamentals has moved in a way that breaks it, but check the edition before you buy — the first and second editions are still sold, and are meaningfully older. Our longer read on what it actually contains goes through that in detail.

The official documentation, which is free and often mistimed

The Python Tutorial at docs.python.org — version 3.14.7 when we read it — is free, superbly written and routinely recommended to exactly the wrong people. Its own first page says: "This tutorial is designed for programmers that are new to the Python language, not beginners who are new to programming."

Use it as your second book, not your first. Around the point where a course starts to feel slow, the official tutorial becomes the fastest thing available.

What a book is actually for

Three things, in practice, and it is worth being clear about them before spending $49.99.

  1. A reference you can flick through. Searching a website gives you the answer; flicking through a book gives you the shape of the thing around the answer, which is how you discover what you did not know to search for.
  2. Projects with an ending. Courses tend to stop at exercises. The second half of Python Crash Course is three finished projects, and finishing is the skill.
  3. Reading away from the machine. Some people absorb structure better without an editor open and a terminal waiting. If that is you, this is not a preference to apologise for.

What a book cannot do is tell you why your code is broken. That feedback loop is the one genuine advantage the paid platforms have, and it is why the sensible combination is a free or cheap course for feedback plus a book for structure — rather than either alone.

The judgement, labelled as a judgement

We have not read all 552 pages of Python Crash Course, so there is no score for it anywhere on this site. What is published here is its specification — edition, date, length, price, contents as its publisher lists them — and the judgement that its structure is unusually well suited to beginners, which is a judgement and is labelled as one.

That is the same standard applied everywhere here: facts get dated and sourced, opinions get labelled, and nothing gets a number attached to it that nobody measured. The same discipline applied to the subscriptions is in what each coding platform charges and what it hides.

How to actually read a programming book

Most unfinished programming books were read the way novels are read, which is why they were unfinished. Three habits change the outcome.

Type the code, do not copy it. Every example, by hand, including the ones you are sure you understand. You will make typos, the typos will produce errors, and fixing errors is the skill a book cannot teach you directly.

Break the examples on purpose. When something works, change a line and predict what will happen before running it. Being wrong about that prediction is the most efficient learning event available, and it costs nothing.

Do not read ahead when you are stuck. The instinct is to press on and hope it clarifies later. It rarely does, because programming books are cumulative in a way most books are not. Go back a section instead.

A book read that way takes far longer than its page count implies and is worth several read the other way. It is also why a free book you finish beats a $49.99 book abandoned on page 90, and why we would tell almost anyone to start with the free one.

Choosing a Python book

What is the best book to learn Python?
For most beginners, Automate the Boring Stuff with Python, because it is free to read online under a Creative Commons licence and it teaches the language through tasks that are obviously useful — renaming files, reading spreadsheets, fetching pages. If you want a paid book with a stricter structure and three substantial projects, Python Crash Course, 3rd Edition is the usual answer, at $49.99 for print with ebook or $39.99 for the ebook alone from its publisher.
Is Python Crash Course worth the money?
It is worth it if what you want is structure and finished projects rather than more exercises — its second half builds an arcade game, a set of data visualisations and a web application, which is the part most courses skimp. It is not worth it if you already have a course you are following and simply want reinforcement, because Automate the Boring Stuff does that for nothing. Check the edition before buying: the third edition is dated December 2022, and older editions are still on sale.
Can I learn Python from a book alone?
You can learn the language, but you will miss the thing a book cannot do, which is tell you why your specific broken code is broken. That feedback loop is the main advantage interactive courses have. The combination that works for most people is a free course for immediate feedback plus a book for structure and for reading away from the machine — and since the best beginner book and the best beginner course are both free, that combination costs nothing.
Are free Python books as good as paid ones?
In this particular case, yes, and that is not a general law about books. Automate the Boring Stuff is a genuinely first-rate beginner text that happens to be free under a Creative Commons licence, and Python's own documentation is excellent and free as well. What you pay for with a book like Python Crash Course is editing, structure and a set of projects with a defined ending — real value for some readers, and not a difference in the quality of the explanations.

Once you know what you want to learn, the money question is the same one every time: which coding courses are worth paying for, and which free route beats them sets every price we read against the routes that charge nothing.