About Programming Python, 4th Edition
Resources
- The book's examples package (also here)
- The book's formal errata list
- The publisher's web page for this book
More Resources
- New: run the book's tkinter GUI examples on Android
- Screenshots of the book's major example programs
- The book's main updates page: notes and supplements
- How to run this book's examples on Pythons 3.3 and later
- Extra book-related examples (also here)
- Recent Python changes: here, here, and here
- This book's history on my career activities page
- Links to resources for all four editions of this book
Previews
- O'Reilly sampler: Chapter 1: A Sneak Preview, 68 pages plus full TOC
- More on this edition's changes: a draft excerpt from its Preface
- Q&A: about this edition's scope, audience, and goals
- A recent reader reply on this book's content and purpose
Contents
In short, this edition's main parts reflect major application domains:
| The Beginning | A quick first pass over topics to be covered, by example |
|---|---|
| System Programming | Systems programming and administration, parallel processing |
| GUI Programming | In-depth user interface coverage with Python's tkinter toolkit |
| Internet Programming | Networking, client-side and server-side scripting, websites |
| Tools and Techniques | Databases, data structures, text and language, C integration |
| The End | A wrap-up on Python's roles in development at large |
For more details, check out the Preface excerpt and the complete table of contents in the O'Reilly sampler.
Example Programs
Besides its tutorials, much of this book's meat lies in its example code. Each part includes substantial working examples, including full chapters devoted to larger programs in the Systems, GUIs, and Internet parts. Although smaller and self-contained examples show up too, this book's scope and size allow it to also present more complete projects and programs — the largest of which span multiple chapters and parts and top out at thousands of lines of code. Among these examples: photo viewers, calculators, email clients, webmail sites, and Unicode-aware text editors serve both to teach full-scale applications work and to demonstrate Python's utility as a general systems development tool. Fetch the book's examples here, and view some of their screenshots here.
Related Books
This book retains the applications-programming focus of its prior editions: it's about what you can do with Python after you've learned the core language. It focuses on the libraries, tools, and techniques used in realistic applications development work.
Along the way, this book provides gradual tutorials and develops non-trivial Python programs in a variety of common domains: the Web and Internet, GUIs, systems administration, databases, text processing, networking, parallel programming, Python/C integration, and more. Although new and emerging technologies are also discussed, this book's main goal remains teaching fundamentals of Python applications which underlie and span systems, rather than the transient bleeding-edge.
As such, this edition is designed to work best as the second in a two volume set: it's intended to be a natural follow-up to the language fundamentals book Learning Python and augmented by the reference book Python Pocket Reference. These other books are not strictly required reading, but their topics and material are assumed prerequisites. Programing Python builds upon Learning Python's knowledge base, to tell the rest of the Python story.
