Purchase Pointers

The Python books I've written are available in both print and electronic formats from a variety of retailers around the world. Although this support site doesn't sell books directly, this page provides a handful of pointers on purchase options and resources, and addresses a few product-related FAQs. On this page:

Sources Where to find the books
Formats Available mediums
Code Using book examples
Content Choosing the right book
Translations Non-English versions
Quality About book sources


Update: as of June 2017, the publisher, O'Reilly Media, no longer sells individual books directly on its website. Instead, its book pages now coerce visitors to purchase an online-only Safari subscription, and have a (strangely-deemphasized) link to Amazon for purchasing books. The publisher will still reprint books, and you can still buy its paper books and ebooks from Amazon and the other retailers below—now the recommended (and more affordable) sources. The links to the right have been changed to go to Amazon book pages accordingly. For more on this change, see the faq and discussion.

If you're looking for purchase options, try the catalog page links on the right; your favorite web browser; or one of the following:

The publisher may also offer academic and bulk-purchase discount options; see its faq for pointers.


Update: per the prior note, you can still purchase paper books from Amazon and other retailers, as well as ebooks for Amazon Kindle, Apple iBooks, Google Play, and the Nook from the sites above, but neither are available from the publisher itself.

The publisher, O'Reilly Media, produces and distributes these books in a variety of forms:

  • Print: traditional paper format
  • Ebook: PDF, Mobi, ePub, and more
  • Online: the Safari catalog's web-based format

O'Reilly's ebook options, available from multiple retailers, include print-like PDF; vendor/device-neutral ePub; Kindle-compatible Mobi; and DAISY format ZIP. An Android APK ebook format is available for some titles as well, and a Kindle Edition is also available from Amazon. Both ebooks and Safari provide color images, and are searchable mediums that can serve as either complement or alternative to print. There's more about using O'Reilly's ebooks here.


Not mentioned on O'Reilly's ebooks page: If you wish to use ebooks to cut-and-paste code, note that some readers and formats may retain whitespace better than others. For example, both:

  • The Calibre reader with ePub ebooks
  • The Safari web-browser interface
may retain code formatting better than PDF ebook readers. This matters in a language like Python where indentation counts as part of statement syntax. Calibre is free and open source (and, as an aside, is written primarily in Python, using PyQt for its GUI); ePub is part of O'Reilly's ebook bundles; and Safari is a subscription service that provides access to many books; see the web for other options.

Also note that some characters may require manual replacement in code snippets due to non-ASCII formatting. Dashes, for instance, may have been changed in production to emdashes that can generate syntax errors. If cut-and-paste fails for you, fetch your book's examples distribution package (see this site's book pages).

That said, you should also expect to be writing some code manually very early in the learning process. It's an important part of mastering a language's syntax, and is required of anyone seeking to develop new software. Cutting and pasting code alone is not programming, despite what some resources may imply.


Be sure you're getting the book that makes sense for your goals. This is discussed on this site's book pages, but judging from recent emails from people confused about content, it's worth a few words here. In short:

The first two essentially work as a set. Learning's foundations topics span all application domains, and are assumed prerequisites to Programming's more advanced coverage. Programming in turn is meant as a follow-up to Learning, that moves on to apply the language in common domains and larger-scaled programs. Hence, as general guidelines:

  • If you are relatively or completely new to Python, you may be best served starting with Learning before moving on to Programming.
  • If you already know Python well and are hoping to find coverage of GUIs, Internet, databases, text, and so on, you might prefer Programming.

Also note that Learning is not the next version of Programming, despite its higher edition number. There is no 5th Edition of Programming in the works, as it does not require an update. In addition, the Pocket Reference is designed to be a companion to the other two, though its current 260-page edition is a substantial reference text in its own right. For more on book scope, see also the book pages listed above, and recent reader replies here and here.


Although the books are published in English, their various editions have also been translated to other languages, including recent versions in Chinese, Russian, German, Polish, Italian, and Portuguese. For details, see the web, or O'Reilly's International page. Some recent translations' book covers and sources (see the Web for others):

 Chinese  Learning Python, Programming Python Source, Source
 Russian  Learning Python, Programming Python Source
 German  Python Pocket Reference Source, Source
 Polish  Learning Python, Python Pocket Reference Source
 Italian  Learning Python Source


In closing, here are a few pointers related to book quality:

Book sources
These books are sold in a wide variety of forms and outlets—from paper volumes in traditional bookstores, to ebook "apps" in online stores. Most of these are valid and useful products, but there have been reports of others of inferior quality. As always on the web, please be aware of what you're downloading and purchasing. If in doubt, go with the publisher or known retail sources to make sure you're getting a legitimate copy.

Infringing books
Other publishers and authors are starting to infringe on my books' title, and are unfortunately being supported by my own publisher's marketing. See the May-2016 note here for details. This is an unavoidable dark side of the publishing business, so please be sure that you are selecting the book that you intended to purchase.

Kindle fonts
A note to Kindle readers: if the text looks subpar, try selecting "Publisher Font" in your font options. Depending on your format and device, this may better distinguish sections and substantially improve the reading experience.

Amazon product links

Learning Python, 5E
Programming Python, 4E
Python Pocket Reference, 5E

[Python Logo] Home Books Programs Blog Python Author Training Email Search ©M.Lutz