Synopses & Reviews
This book offers Python programmers one place to look when they needhelp remembering or deciphering the syntax of this open source languageand its many powerful but scantily documented modules. Thiscomprehensive reference guide makes it easy to look up the mostfrequently needed information--not just about the Python languageitself, but also the most frequently used parts of the standard libraryand the most important third-party extensions.
Ask any Python aficionado and you'll hear that Python programmers haveit all: an elegant object-oriented language with readable andmaintainable syntax, that allows for easy integration with componentsin C, C++, Java, or C#, and an enormous collection of precoded standardlibrary and third-party extension modules. Moreover, Python is easy tolearn, yet powerful enough to take on the most ambitious programmingchallenges. But what Python programmers used to lack is a concise andclear reference resource, with the appropriate measure of guidance inhow best to use Python's great power. Python in aNutshell fills this need.
Python in a Nutshell, Second Edition covers morethan the language itself; it also deals with the mostfrequently used parts of the standard library, and the most popular andimportant third party extensions. Revised and expanded forPython 2.5, this book now contains the gory details of Python's newsubprocess module and breaking news about Microsoft's newIronPython project. Our "Nutshell" format fits Python perfectly bypresenting the highlights of the most important modules and functionsin its standard library, which cover over 90% of your practicalprogramming needs. This book includes:
- A fast-paced tutorial on the syntax of the Python language
- An explanation of object-oriented programming in Python
- Coverage of iterators, generators, exceptions, modules,packages, strings, and regular expressions
- A quick reference for Python's built-in types and functionsand key modules
- Reference material on important third-party extensions,such as Numeric and Tkinter
- Information about extending and embedding Python
Python in a Nutshell provides a solid,no-nonsense quick reference to information that programmers rely on themost. This book will immediately earn its place in any Pythonprogrammer's library.
Praise for the First Edition:
"In a nutshell, Python in a Nutshell serves oneprimary goal: to act as an immediately accessible goal for the Pythonlanguage. True, you can get most of the same core information that ispresented within the covers of this volume online, but this willinvariably be broken into multiple files, and in all likelihood lackingthe examples or the exact syntax description necessary to trulyunderstand a command."
--Richard Cobbett, Linux Format
"O'Reilly has several good books, of which Python in aNutshell by Alex Martelli is probably the best for giving yousome idea of what Python is about and how to do useful things with it."
--Jerry Pournelle, Byte Magazine
In the tradition of our popular "In a Nutshell" series, this book offers you one place to look when you need help remembering or deciphering the most important tools and modules of this open source language.
"Python in a Nutshell" covers more than the language itself; it also deals with the most frequently used parts of the standard library, and the most popular and important third party extensions. Revised and expanded for Python 2.5, this book now contains the gory details of Python's new subprocess module and the latest from Microsofts' IronPython project. This easy scripting language comes with a huge library that is enormously rich. Our "Nutshell" format fits Python perfectly by presenting the highlights of all modules and functions, which cover well over 90% of your practical programming needs.
Revised and expanded for Python 2.5, this book now contains the details of Python's new subprocess module and the latest from Microsofts' IronPython project. This easy scripting language comes with a huge library that is enormously rich with highlights of all modules and functions which cover well over 90 percent of users' practical programming needs.
This book offers Python programmers one place to look when they need help remembering or deciphering the syntax of this open source language and its many powerful but scantily documented modules. This comprehensive reference guide makes it easy to look up the most frequently needed information--not just about
About the Author
Alex Martelli spent 8 years with IBM Research, winning three Outstanding Technical Achievement Awards. He then spent 13 as a Senior Software Consultant at think3 inc, developing libraries, network protocols, GUI engines, event frameworks, and web access frontends. He has also taught programming languages, development methods, and numerical computing at Ferrara University and other venues. He's a C++ MVP for Brainbench, and a member of the Python Software Foundation. He currently works for AB Strakt, a Python-centered software house in G teborg, Sweden, mostly by telecommuting from his home in Bologna, Italy. Alex's proudest achievement is the articles that appeared in Bridge World (January/February 2000), which were hailed as giant steps towards solving issues that had haunted contract bridge theoreticians for decades.
Table of Contents
Preface; How This Book Is Organized; Conventions Used in This Book; Using Code Examples; How to Contact Us; Safari® Enabled; Acknowledgments; Getting Started with Python; Chapter 1: Introduction to Python; 1.1 The Python Language; 1.2 The Python Standard Library and Extension Modules; 1.3 Python Implementations; 1.4 Python Development and Versions; 1.5 Python Resources; Chapter 2: Installation; 2.1 Installing Python from Source Code; 2.2 Installing Python from Binaries; 2.3 Installing Jython; 2.4 Installing IronPython; Chapter 3: The Python Interpreter; 3.1 The python Program; 3.2 Python Development Environments; 3.3 Running Python Programs; 3.4 The jython Interpreter; 3.5 The IronPython Interpreter; Core Python Language and Built-ins; Chapter 4: The Python Language; 4.1 Lexical Structure; 4.2 Data Types; 4.3 Variables and Other References; 4.4 Expressions and Operators; 4.5 Numeric Operations; 4.6 Sequence Operations; 4.7 Set Operations; 4.8 Dictionary Operations; 4.9 The print Statement; 4.10 Control Flow Statements; 4.11 Functions; Chapter 5: Object-Oriented Python; 5.1 Classes and Instances; 5.2 Special Methods; 5.3 Decorators; 5.4 Metaclasses; Chapter 6: Exceptions; 6.1 The try Statement; 6.2 Exception Propagation; 6.3 The raise Statement; 6.4 Exception Objects; 6.5 Custom Exception Classes; 6.6 Error-Checking Strategies; Chapter 7: Modules; 7.1 Module Objects; 7.2 Module Loading; 7.3 Packages; 7.4 The Distribution Utilities (distutils); Chapter 8: Core Built-ins; 8.1 Built-in Types; 8.2 Built-in Functions; 8.3 The sys Module; 8.4 The copy Module; 8.5 The collections Module; 8.6 The functional Module; 8.7 The bisect Module; 8.8 The heapq Module; 8.9 The UserDict Module; 8.10 The optparse Module; 8.11 The itertools Module; Chapter 9: Strings and Regular Expressions; 9.1 Methods of String Objects; 9.2 The string Module; 9.3 String Formatting; 9.4 The pprint Module; 9.5 The repr Module; 9.6 Unicode; 9.7 Regular Expressions and the re Module; Python Library and Extension Modules; Chapter 10: File and Text Operations; 10.1 Other Chapters That Also Deal with Files; 10.2 Organization of This Chapter; 10.3 File Objects; 10.4 Auxiliary Modules for File I/O; 10.5 The StringIO and cStringIO Modules; 10.6 Compressed Files; 10.7 The os Module; 10.8 Filesystem Operations; 10.9 Text Input and Output; 10.10 Richer-Text I/O; 10.11 Interactive Command Sessions; 10.12 Internationalization; Chapter 11: Persistence and Databases; 11.1 Serialization; 11.2 DBM Modules; 11.3 Berkeley DB Interfacing; 11.4 The Python Database API (DBAPI) 2.0; Chapter 12: Time Operations; 12.1 The time Module; 12.2 The datetime Module; 12.3 The pytz Module; 12.4 The dateutil Module; 12.5 The sched Module; 12.6 The calendar Module; 12.7 The mx.DateTime Module; Chapter 13: Controlling Execution; 13.1 Dynamic Execution and the exec Statement; 13.2 Internal Types; 13.3 Garbage Collection; 13.4 Termination Functions; 13.5 Site and User Customization; Chapter 14: Threads and Processes; 14.1 Threads in Python; 14.2 The thread Module; 14.3 The Queue Module; 14.4 The threading Module; 14.5 Threaded Program Architecture; 14.6 Process Environment; 14.7 Running Other Programs; 14.8 The mmap Module; Chapter 15: Numeric Processing; 15.1 The math and cmath Modules; 15.2 The operator Module; 15.3 Random and Pseudorandom Numbers; 15.4 The decimal Module; 15.5 The gmpy Module; Chapter 16: Array Processing; 16.1 The array Module; 16.2 Extensions for Numeric Array Computation; 16.3 The Numeric Package; 16.4 Array Objects; 16.5 Universal Functions (ufuncs); 16.6 Auxiliary Numeric Modules; Chapter 17: Tkinter GUIs; 17.1 Tkinter Fundamentals; 17.2 Widget Fundamentals; 17.3 Commonly Used Simple Widgets; 17.4 Container Widgets; 17.5 Menus; 17.6 The Text Widget; 17.7 The Canvas Widget; 17.8 Layout Management; 17.9 Tkinter Events; Chapter 18: Testing, Debugging, and Optimizing; 18.1 Testing; 18.2 Debugging; 18.3 The warnings Module; 18.4 Optimization; Network and Web Programming; Chapter 19: Client-Side Network Protocol Modules; 19.1 URL Access; 19.2 Email Protocols; 19.3 The HTTP and FTP Protocols; 19.4 Network News; 19.5 Telnet; 19.6 Distributed Computing; 19.7 Other Protocols; Chapter 20: Sockets and Server-Side Network Protocol Modules; 20.1 The socket Module; 20.2 The SocketServer Module; 20.3 Event-Driven Socket Programs; Chapter 21: CGI Scripting and Alternatives; 21.1 CGI in Python; 21.2 Cookies; 21.3 Other Server-Side Approaches; Chapter 22: MIME and Network Encodings; 22.1 Encoding Binary Data as Text; 22.2 MIME and Email Format Handling; Chapter 23: Structured Text: HTML; 23.1 The sgmllib Module; 23.2 The htmllib Module; 23.3 The HTMLParser Module; 23.4 The BeautifulSoup Extension; 23.5 Generating HTML; Chapter 24: Structured Text: XML; 24.1 An Overview of XML Parsing; 24.2 Parsing XML with SAX; 24.3 Parsing XML with DOM; 24.4 Changing and Generating XML; Extending and Embedding; Chapter 25: Extending and Embedding Classic Python; 25.1 Extending Python with Python's C API; 25.2 Extending Python Without Python's C API; 25.3 Embedding Python; 25.4 Pyrex; Chapter 26: Extending and Embedding Jython; 26.1 Importing Java Packages in Jython; 26.2 Embedding Jython in Java; 26.3 Compiling Python into Java; Chapter 27: Distributing Extensions and Programs; 27.1 Python's distutils; 27.2 py2exe; 27.3 py2app; 27.4 cx_Freeze; 27.5 PyInstaller; About the Author; Colophon;