Programming Python focuses on advanced uses of the Python programming/scripting language, which has evolved from an emerging language of interest primarily to pioneers, to a widely accepted tool that traditional programmers use for real day-to-day development tasks. With Python, you can do almost anything you can do with C++; but Python is an interpreted language designed for rapid application development and deployment. Among other things, Python supports object-oriented programming; a remarkably simple, readable, and maintainable syntax; integration with C components; and a vast collection of pre-coded interfaces and utilities.As Python has grown to embrace developers on a number of different platforms (Unix, Linux, Windows, Mac), companies have taken notice and are adopting Python for their products. It has shown up animating the latest Star Wars movie, serving up maps and directories on the Internet, guiding users through Linux installations, testing chips and boards, managing Internet discussion forums, scripting online games, and even scripting wireless products.Programming Python is the most comprehensive resource for advanced Python programmers available today. Reviewed and endorsed by Python creator Guido van Rossum, who also provides the foreword, this book zeroes in on real-world Python applications. It's been updated for Python 2.0 and covers Internet scripting, systems programming, Tkinter GUIs, C integration domains, and new Python tools and applications. Among them: IDLE, JYthon, Active Scripting and COM extensions, Zope, PSP server pages, restricted execution mode, the HTMLgen and SWIG code generators, thread support, CGI and Internet protocol modules. Such applications are the heart and soul of this second edition.Veteran O'Reilly author Mark Lutz has included a platform-neutral CD-ROM with book examples and various Python-related packages, including the full Python 2.0 source code distribution.
Completely revised and improved, the second edition of
Programming Python is an excellent compendium of material geared toward the more knowledgeable Python developer, including dozens of reusable scripts for common scripting tasks. It is one of the best available sources of information for this popular object-oriented scripting language.
In over 1,200 pages of material, this book offers an extremely comprehensive guide to Python development. Though densely packed with information, Lutz is a lively and witty writer whose focus is on getting things done using the natural strengths of the Python language. To that end, after an introduction and history of the language, the book describes how to use Python for performing automated tasks with files and directories (for example, for doing backups, both locally and on Web servers). Not only will this book teach you more about Python, it will also give you a library of code that you can use as is, or adapt for your own projects.
The text covers every conceivable facet of Python and its support for networking, files and directories, task management and even persistence (through its support for shelves). Complete Python programs show how to create e-mail clients, do reporting, and create Web applications (for an online errata database). Chapters on doing graphics programming in Python, as well as coverage of both built-in and custom data structures, are especially good. Because Python is often used for automating installations (in some Linux distributions, for instance), readers will appreciate the sample code and tips for using Python to create bulletproof installs.
Later sections show how get Python to work with C, Java (through JPython) and other languages. The book concludes with useful reference sections summarising key aspects of Python, such as its revision history, relationship to C++ and other material. There aren't many titles on Python, and fans of this up-and-coming language are lucky to have such a solid tutorial and guide available in Programming Python. Perfect for those with just a little previous exposure to the language, it's all you need to master Python in depth and tap its considerable power for virtually any software project. --Richard Dragan