About Programming Python, 4th Edition

[cLick for larger book Cover]

[January, 2011] The new, 4th Edition of this book, a Python classic, is now available. It was first released in ebook form from O'Reilly on December 15th, and became more widely available in paper and other forms from retailers on January 5th, 2011.

This edition uses Python 3.X—version 3.2 specifically, though most of its code should apply to readers using other 2.X and 3.X releases—and it has been updated substantially for current Python best practice and new Python tools. Despite the new coverage, it is roughly the same size as the prior edition, and still serves as a tutorial that teaches how to use Python in common application domains, and a follow-up to Learning Python.

There's more on this book's content and scope below, but for a brief description see the book's early draft Preface preview, as well as the discussion of Python 3.X's implications for this book on the Learning Python notes page. Among other things, the pervasiveness of Unicode in 3.X has broad impacts on both this edition and Python programmers in general.

For more details, see O'Reilly's catalog page for this book. Naturally, there are also pages for this book on amazon.com and other booksellers. Of note: figures and images in the PDF and other ebooks are all in color this time around—a nice feature for a book with 302 screenshots.


This book and its relatives

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 variey 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 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.

Specific contents

This edition's main parts are similar to those of the prior edition:

  1. Introduction: a quick first pass over topics to be covered
  2. Systems: systems programming and administration, parallel processing
  3. GUIs: in-depth user interface coverage with Python's tkinter toolkit
  4. Internet: networking, client and server techniques, web sites
  5. Tools: databases, data structures, text and language, C integration
  6. Conclusion: a wrap-up on Python's roles in development at large

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, GUI, 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 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. See above to fetch the book's examples.

Back to the Programming Python page
Back to my homepage