Preface; I. Getting Started; 1. A Python Q&A Session; Why Do People Use Python?; Is Python a "Scripting Language"?; Okay, But What's the Downside?; Who Uses Python Today?; What Can I Do With Python?; What are Python's Technical Strengths?; How Does Python Stack-up to Language X?; 2. How Python Runs Programs; Introducing the Python Interpreter; Program Execution; Execution Model Variations; 3. How You Run Programs; Interactive Coding System Command Lines and Files; Clicking Windows File Icons Module Imports and Reloads; The IDLE User Interface; Other IDEs Embedding Calls; Frozen Binary Executables; Text Editor Launch Options; Other Launch Options; Future Possibilities?; Which Option Should I Use?; Part I Exercises; II. Types and Operations 4. Numbers; Python Program Structure; Why Use Built-in Types? Numbers; Python Expression Operators; Numbers in Action The Dynamic Typing Interlude; 5. Strings; String Literals Strings in Action; String Formatting; String Methods General Type Categories; 6. Lists and Dictionaries; Lists Lists in Action; Dictionaries; Dictionaries In Action 7. Tuples, Files, and Everything Else; Tuples; Files Type Categories Revisited; Object Generality; References Versus Copies; Comparisons, Equality, and Truth; Python's Type Hierarchies; Built-in Type Gotchas; Part Summary; Part II Exercises; III. Statements and Syntax; 8. Assignment, Expressions, and Print; Assignment Statements; Expression Statements Print Statements; 9. if Tests; if Statements; Python Syntax Rules; Truth Tests; 10. while and for Loops; while Loops break, continue, pass, and the Loop else; for Loops; Loop Variations; 11. Documenting Python Code; The Python Documentation Interlude; Common Coding Gotchas; Part Summary; Part III Exercises; IV. Functions; 12. Function Basics; Why Use Functions?; Coding Functions; A First Example: Definitions and Calls; A Second Example: Intersecting Sequences; 13. Scopes and Arguments; Scope Rules; The global Statement; Scopes and Nested Functions; Passing Arguments; Special Argument Matching Modes 14. Advanced Function Topics; Anonymous Functions: lambda; Applying Functions to Arguments; Mapping Functions Over Sequences; Functional Programming Tools; List Comprehensions; Generators and Iterators; Function Design Concepts; Function Gotchas; Part Summary; Part IV Exercises; V. Modules; 15. Modules: The Big Picture; Why Use Modules?; Python Program Architecture; How Imports Work; 16. Module Coding Basics; Module Creation Module Usage; Module Namespaces; Reloading Modules 17. Module Packages; Package Import Basics; Package Import Example; Why Use Package Imports?; A Tale of Three Systems 18. Advanced Module Topics; Data Hiding in Modules; Enabling Future Language Features; Mixed Usage Modes: __name_ _ and _ _main_ _; Changing the Module Search Path; The import as Extension; Module Design Concepts; Module Gotchas; Part Summary; Part V Exercises; VI. Classes and OOP; 19. OOP: The Big Picture; Why Use Classes?; OOP from 30,000 Feet; 20.
Mark Lutz is an independent Python trainer, writer, and software developer, and is one of the primary figures in the Python community. He is the author of the O'Reilly books Programming Python and Python Pocket Reference (both in 2nd Editions), and co-author of Learning Python (both in 2nd Editions). Mark has been involved with Python since 1992, began teaching Python classes in 1997, and has instructed over 90 Python training sessions as of early 2003. In addition, he holds BS and MS degrees in computer science from the University of Wisconsin, and over the last two decades has worked on compilers, programming tools, scripting applications, and assorted client/server systems. Whenever Mark gets a break from spreading the Python word, he leads an ordinary, average life with his kids in Colorado. Mark can be reached by email at , or on the web at http://www.rmi.net/~lutz. David Ascher is the lead for Python projects at ActiveState, including Komodo, ActiveState's integrated development environment written mostly in Python. David has taught courses about Python to corporations, in universities, and at conferences. He also organized the Python track at the 1999 and 2000 O'Reilly Open Source Conventions, and was the program chair for the 10th International Python Conference. In addition, he co-wrote Learning Python (both editions) and serves as a director of the Python Software Foundation. David holds a B.S. in physics and a Ph.D. in cognitive science, both from Brown University.
As a book for programmers who want to learn Python, it does a very good job. The coverage is informative and well order; making it easy to find what you're looking for. Overall, if you do some work with Python, you will benefit from owning this book. " - Sam Smith, news@UK, March "This book is a good example of Python culture, in the clarity of its text as much as in the quality of its code. Anyhone working their way through it will have a solid foundation upon which to explore Python's potential. Highly recommended." - Ivan Uemilianin, CVu, October 2004