The book Learning Python—the classic language foundations tutorial—has been published in five editions. Each edition has incorporated changes in Python itself, the Python training classes that this book is based upon, and common practice in the Python world. I maintain support pages here for each edition. Please select the relevant link in the first column of the table below:
This book is an in-depth introduction to both the 3.X and 2.X versions of the core Python language, appropriate for all Python learners in all Python domains. Though readers' goals are diverse, this text is also meant to serve as the first in a 2-book set:
Learning Python, this book, provides a comprehensive and application-neutral first look at the language itself, designed to help you master Python no matter how you plan to use it.
Programming Python, a follow-up book, picks up where Learning Python ends, focusing on common ways to apply the language once you've learned it, and providing larger and more complete examples.
In addition, the book Python Pocket Reference serves as a reference-only companion to both these books, providing quick access to supplemental details when you need them.
It's also important to note that this is not a release-specific book. Because it stresses core Python concepts, it applies to all Python versions in common use, not just those it was updated to be current with at publication and listed in the table above. Given the long tenure of this foundational text, its extensive coverage of language and programming fundamentals should also continue to apply to Pythons in years to come. For more on this book's scope, see also these content pointers.