The book Programming Python—an applications-programming tutorial classic—has been published in four editions, each reflecting changes in both Python and the larger software ecosystem in which it is deployed. I maintain support pages here for each edition. Please select the relevant link in the first column of the table below:
The 1st edition of this book was a broad introduction to both Python its applications. The 2nd through 4th editions focus on common applications of the language, and assume you have already learned the language itself from a first book such as Learning Python. That is, Programming Python is about what you can do with Python after you've mastered it, and covers examples that are larger and more advanced than those in introductory texts. It's designed to be used as the second in a 2-book set and a follow-up to Learning Python, and supplemented by the additional book Python Pocket Reference.
Note that there are no current plans to release this book in 5th edition form, as it is already 3.X-based; presents larger examples that still work well today on Pythons 3.3 through 3.5; and employs libraries and tools whose evolution is a normal part of the software development process. Also note that, despite the current edition's Python 3.X emphasis, this book's focus on general Python coding and concepts makes its material applicable to readers using either Python 3.X or 2.X, in a wide variety of domains. For more on this book's scope, see also these content pointers, and this recent reader reply.