Skip to content

Programming Python

Best in textbook rentals since 2012!

ISBN-10: 0596009259

ISBN-13: 9780596009250

Edition: 3rd 2006 (Revised)

Authors: Mark Lutz

List price: $59.99
Blue ribbon 30 day, 100% satisfaction guarantee!
what's this?
Rush Rewards U
Members Receive:
Carrot Coin icon
XP icon
You have reached 400 XP and carrot coins. That is the daily max!

As a language optimized for developer productivity, Python solves the software development crunch -- programmers can do more in less time, without sacrificing code quality. "Programming Python, 3rd edition is a comprehensive book that shows you how you can apply Python in real-world problem domains such as GUI programming, Internet scripting, parallel processing, database management, networked applications, and more. As the industry standard book for mastering this expedient language, "Programming Python also focuses on teaching you the "right" way to code: a good programmer knows that he or she must write code for both the computer and for other human readers. This book explains Python…    
Customers also bought

Book details

List price: $59.99
Edition: 3rd
Copyright year: 2006
Publisher: O'Reilly Media, Incorporated
Publication date: 9/5/2006
Binding: Paperback
Pages: 1600
Size: 7.50" wide x 9.25" long x 2.50" tall
Weight: 4.444
Language: English

Christopher Phillips is an educator, a freelance writer, and the founder of the non-profit Society for Philosophical Inquiry.Mark Lutz is a leading Python trainer, the author of Python's earliest and best-selling texts, and a pioneering figure in the Python world. Mark is the author of the three O'Reilly books: Learning Python, Programming Python, and Python Pocket Reference, all currently in fourth or fifth editions. He has been using and promoting Python since 1992, started writing Python books in 1995, and began teaching Python classes in 1997. As of Spring 2013, Mark has instructed 260 Python training sessions, taught roughly 4,000 students in live classes, and written Python books that…    

Foreword
Preface
The Beginning
Introducing Python
"And Now for Something Completely Different"
Python Philosophy 101
The Life of Python
Signs of the Python Times
The Compulsory Features List
What's Python Good For?
What's Python Not Good For?
Truth in Advertising
A Sneak Preview
"Programming Python: The Short Story"
The Task
Representing Records
Storing Records Persistently
Stepping Up to OOP
Adding Console Interaction
Adding a GUI
Adding a Web Interface
The End of the Demo
System Programming
System Tools
"The os.path to Knowledge"
System Scripting Overview
Introducing the sys Module
Introducing the os Module
Script Execution Context
Current Working Directory
Command-Line Arguments
Shell Environment Variables
Standard Streams
File and Directory Tools
"Erase Your Hard Drive in Five Easy Steps!"
File Tools
Directory Tools
Parallel System Tools
"Telling the Monkeys What to Do"
Forking Processes
Threads
Program Exits
Interprocess Communication
Pipes
Signals
Other Ways to Start Programs
A Portable Program-Launch Framework
Other System Tools
System Examples: Utilities
"Splits and Joins and Alien Invasions"
Splitting and Joining Files
Generating Forward-Link Web Pages
A Regression Test Script
Packing and Unpacking Files
Automated Program Launchers
System Examples: Directories
"The Greps of Wrath"
Fixing DOS Line Ends
Fixing DOS Filenames
Searching Directory Trees
Visitor: Walking Trees Generically
Copying Directory Trees
Deleting Directory Trees
Comparing Directory Trees
GUI Programming
Graphical User Interfaces
"Here's Looking at You, Kid"
Python GUI Development Options
Tkinter Overview
Climbing the GUI Learning Curve
Tkinter Coding Basics
Tkinter Coding Alternatives
Adding Buttons and Callbacks
Adding User-Defined Callback Handlers
Adding Multiple Widgets
Customizing Widgets with Classes
Reusable GUI Components with Classes
The End of the Tutorial
Python/Tkinter for Tcl/Tk Converts
A Tkinter Tour, Part 1
"Widgets and Gadgets and GUIs, Oh My!"
Configuring Widget Appearance
Top-Level Windows
Dialogs
Binding Events
Message and Entry
Checkbutton, Radiobutton, and Scale
Running GUI Code Three Ways
Images
Viewing and Processing Images with PIL
A Tkinter Tour, Part 2
"On Today's Menu: Spam, Spam, and Spam"
Menus
Listboxes and Scrollbars
Text
Canvas
Grids
Time Tools, Threads, and Animation
The End of the Tour
The PyDemos and PyGadgets Launchers
GUI Coding Techniques
"Building a Better Mouse Trap"
GuiMixin: Common Tool Mixin Classes
GuiMaker: Automating Menus and Toolbars
ShellGui: GUIs for Command-Line Tools
GuiStreams: Redirecting Streams to Widgets
Reloading Callback Handlers Dynamically
Wrapping Up Top-Level Window Interfaces
GUIs, Threads, and Queues
More Ways to Add GUIs to Non-GUI Code
Complete GUI Programs
"Python, Open Source, and Camaros"
PyEdit: A Text Editor Program/Object
PyPhoto: An Image Viewer and Resizer
PyView: An Image and Notes Slideshow
PyDraw: Painting and Moving Graphics
PyClock: An Analog/Digital Clock Widget
PyToe: A Tic-Tac-Toe Game Widget
Where to Go from Here
Internet Programming
Network Scripting
"Tune In, Log On, and Drop Out"
Plumbing the Internet
Socket Programming
Handling Multiple Clients
A Simple Python File Server
Client-Side Scripting
"Socket to Me!"
FTP: Transferring Files over the Net
Processing Internet Email
POP: Fetching Email
SMTP: Sending Email
email: Parsing and Composing Mails
pymail: A Console-Based Email Client
The mailtools Utility Package
NNTP: Accessing Newsgroups
HTTP: Accessing Web Sites
Module urllib Revisited
Other Client-Side Scripting Options
The PyMailGUI Client
"Use the Source, Luke"
A PyMailGUI Demo
PyMailGUI Implementation
Server-Side Scripting
"Oh What a Tangled Web We Weave"
What's a Server-Side CGI Script?
Running Server-Side Examples
Climbing the CGI Learning Curve
Saving State Information in CGI Scripts
The Hello World Selector
Refactoring Code for Maintainability
More on HTML and URL Escapes
Transferring Files to Clients and Servers
The PyMailCGI Server
"Things to Do When Visiting Chicago"
The PyMailCGI Web Site
The Root Page
Sending Mail by SMTP
Reading POP Email
Processing Fetched Mail
Utility Modules
CGI Script Trade-Offs
Advanced Internet Topics
"Surfing on the Shoulders of Giants"
Zope: A Web Application Framework
HTMLgen: Web Pages from Objects
Jython: Python for Java
Grail: A Python-Based Web Browser
XML Processing Tools
Windows Web Scripting Extensions
Python Server Pages
Rolling Your Own Servers in Python
And Other Cool Stuff
Tools and Techniques
Databases and Persistence
"Give Me an Order of Persistence, but Hold the Pickles"
Persistence Options in Python
DBM Files
Pickled Objects
Shelve Files
The ZODB Object-Oriented Database
SQL Database Interfaces
PyForm: A Persistent Object Viewer
Data Structures
"Roses Are Red, Violets Are Blue; Lists Are Mutable, and So Is Set Foo"
Implementing Stacks
Implementing Sets
Subclassing Built-In Types
Binary Search Trees
Graph Searching
Reversing Sequences
Permuting Sequences
Sorting Sequences
Data Structures Versus Python Built-Ins
PyTree: A Generic Tree Object Viewer
Text and Language
"See Jack Hack. Hack, Jack, Hack"
Strategies for Parsing Text in Python
String Method Utilities
Regular Expression Pattern Matching
Advanced Language Tools
Handcoded Parsers
PyCalc: A Calculator Program/Object
Integration
Extending Python
"I Am Lost at C"
Integration Modes
C Extensions Overview
A Simple C Extension Module
Extension Module Details
The SWIG Integration Code Generator
Wrapping C Environment Calls
A C Extension Module String Stack
A C Extension Type String Stack
Wrapping C++ Classes with SWIG
Other Extending Tools
Embedding Python
"Add Python. Mix Well. Repeat."
C Embedding API Overview
Basic Embedding Techniques
Registering Callback Handler Objects
Using Python Classes in C
A High-Level Embedding API: ppembed
Other Integration Topics
The End
Conclusion: Python and the Development Cycle
"That's the End of the Book, Now Here's the Meaning of Life"
"Something's Wrong with the Way We Program Computers"
The "Gilligan Factor"
Doing the Right Thing
Enter Python
But What About That Bottleneck?
On Sinking the Titanic
So What's "Python: The Sequel"?
In the Final Analysis
Postscript to the Second Edition (2000)
Postscript to the Third Edition (2006)
Index