Preface PartⅠ.Getting Started 1.A Python Q&A Session Why Do People Use Python? Software Quality Developer Productivity Is Python a“Scripting Language”? OK,but What’S the Downside? Who Uses Python Today? What Can I Do with Python? Systems Programming GUIs Internet Scripting Component Integration Database Programming Rapid Prototyping Numeric and Scientific Programming Gaming,Images,AI,XML,Robots,and More What Are Python’S Technical Strengths? It’S Object Oriented It’S Free It’S Portable It’S Powerful It’S Mixable It’S Easy to Use It’S Easy to Learn It’s Named After Monty Python How Does Python Stack Up to Language X? Chapter Summary Brain Builder Chapter Quiz Quiz Answers 2.How Python Runs Programs Introducing the Python Interpreter Program Execution The Programmer’S View Python’S View Byte code compilation The Python Virtual Machine(PVM) Performance implications Development implications Execution Model Variations Python Implementation Alternatives CPython Jython IronPython Execution Optimization Tools The Psyco just-in-time compiler The Shedskin C++translator Frozen Binaries Future Possibilities? Chapter Summary Brain Builder Chapter Quiz Quiz Answers 3.How You Run Programs Interactive Coding Using the Interactive Prompt System Command Lines and Files Using Command Lines and Files Unix Executable Scripts(#!) Clicking File Icons Clicking Icons on Windows The raw_input Trick 0ther Icon-Click Limitations Module Imports and Reloads The Grander Module Story:Attributes Modules and namespaces import and reload Usage Notes The IDLE User Interface IDLE Basics Using 1DLE Advanced 1DLE Tools 0ther IDEs Embedding Calls Frozen Binary Executables Text Editor Launch Options 0ther Launch Options Future Possibilities? Which 0ption Should I Use? Chapter Summary Brain Builder Chapter Quiz Ouiz Answers Brain Builder:Part I Exercises PartⅡ.Types and Operations 4.Introducing Python 0bject Types Why Use Built—in Types? Python’S Core Data Types Numbers Strings Sequence Operations Immutability Type—Specific Methods Getting Help Other Ways to Code Strings Pattern Matching Lists Sequence Operations Type—Specific Operations Bounds Checking Nesting List Comprehensions Dictionaries Mapping Operations Nesting Revisited Sorting Keys:for Loops Iteration and Optimization Missing Keys:if Tests Tuples Why Tuples? Files Other File-Like Tools Other Core Types How to Break Your Code’S Flexibility User—Defined Classes And Everything Else Chapter Summary Brain Builder Chapter Quiz Quiz Answers 5.Numbers Python Numeric Types Numeric Literals Built—in Numeric Tools and Extensions Python Expression Operators Mixed Operators Follow Operator Precedence Parentheses Group Subexpressions Mixed Types Are Converted Up Preview:Operator Overloading Numbers in Action Variables and Basic ExpressionS Numeric Display Formats Division:Classic,F(xiàn)loor,and True Bitwise Operations Long Integers Complex Numbers Hexadecimal and Octal Notation Other Built.in Numeric Tools Other Numeric Types Decimal Numbers Sets Booleans Third.Party Extensions Chapter Summary Brain Builder Chapter Quiz Quiz Answers 6.The DynamicTyping Interlude The Case of the Missing Declaration Statements Variables,Objects,and References Types Live with Objects,Not Variables Objects Are Garbage—Collected Shared Refe:rences Shared References and In—Place Changes Shared References and Equality Dynamic Typing Is Everywhere Chapter Summary Brain Builder Chapter Quiz Quiz Answers 7.Strings String Literals Single,and Double.Quoted Strings Are the Same Escape Sequences Represent Special Bytes Raw Strings Suppress Escapes Triple Quotes Code Multiline Block Strings Unicode Strings Encode Larger Character Sets Strings in Action Basic Operations Indexing and Slicing Extended slicing:the third limit String Conversion Tools Character code conversions Changing Strings String Formatting Advanced String Formatting Dictionary—Based String Formatting String Methods String Method Examples:Changing Strings String Method Examples:Parsing Text Other Common String Methods in Action The Original string Module General Type Categories Types Share Operation Sets by Categories Mutable Types Can Be Changed In—Place Chapter Summary Brain Builder Chapter Quiz quiz Answers 8.Lists and Dictionaries Lists Lists in Action Basic List Operations Indexing,Slicing,and Matrixes Changing Lists In—Place Index and slice assignments List method calls Other common list operations Dictionaries Dictionaries in Action Basic Dictionary Operations Changing Dictionaries In—Place More Dictionary Methods A Languages Table Dictionary Usage Notes Using dictionaries to simulate flexible lists Using dictionaries for sparse data structures Avoiding missing-key errors Using dictionaries as“records” Other ways to make dictionaries Chapter Summary Brain Builder Chapter Quiz Quiz Answers 9.Tuples,Files,and Everthing Else Tuples Tuples in Action Tuple syntax peculiarities:commas and parentheses Conversions and immutability Why Lists and Tuples? Files Opening Files Using Files Files in Action Storing and parsing Python objects in files Storing native Python objects with pickle Storing and parsing packed binary data in files Other File Tools Type Categories Revisited Object Flexibility References Versus Copies Comparisons,Equality,and Truth The Meaning of True and False in Python Python’S Type Hierarchies Other Types in Python Built.in Type Gotchas Assignment Creates References,Not Copies Repetition Adds One Level Deep Beware of Cyclic Data Structures Immutable Types Can’t Be Changed In-Place Chapter Summary Brain Builder Chapter Quiz Quiz Answers Brain Builder:Part II Exercises PartⅢ Statements and Syntax Introducing Python Statements Python Program Structure Revisited Python’S Statements ATale ofTwo ifs What Python Adds What Python Removes Parentheses are optional End of line iS end of statement End of indentation iS end of block Why Indentation Syntax? A Few Special Cases Statement rule special cases Block rule special case A Quick Example:Interactive Loops A Simple Interactive Loop Doing Math on User Inputs Handling Errors by Testing Inputs Handling Errors with try Statements Nesting Code Three Levels Deep Chapter Summary Brain Builder Chapter Quiz Quiz Answers 11.Assignment,Expressions,and print Assignment Statements Assignment Statement Forms Sequence Assignments Advanced sequence assignment patterns Multiple—Target Assignments Multiple—target assignment and shared references Augmented Assignments Augmented assignment and shared references Variable Name Rules Naming conventions Names have no type,but objects do Expression Statements Expression Statements and In-Place Changes print Statements The Python“Hello World”Program Redirecting the Output Stream The print>>file Extension Chapter Summary Brain Builder Chapter Quiz Quiz Answers 12.if Tesis if Statements General Format Basic Examples Multiway Branching Python Syntax Rules Block Delimiters Statement Delimiters A Few Special Cases Truth Tests The if/else Ternary Expression Chapter Summary Brain Builder Chapter Quiz Quiz Answers 13.while and for Loops while Loops General Format Examples break,continue,pass,and the Loop else General Loop Format Examples pass continue break else More on the loop else clause forLoops General Format Examples Basic usage Other data types Tuple assignment in for Nested for loops Iterators:A First Look File Iterators Other Built—in Type Iterators Other Iteration Contexts User—Defined Iterators Loop Coding Techniques Counter Loops:while and range Nonexhaustive Traversals:range Changing Lists:range Parallel Traversals:zip and map Dictionary construction with zip Generating Both 0ffsets and Items:enumerate List Comprehensions:A First Look List Comprehension Basics Using List Comprehensions on Files Extended List Comprehension Syntax Chapter Summary Brain Builder Chapter Quiz Quiz Answers 14.The Documentation Interlude Python Documentation Sources #Comments The dir Function Docstrings:--doc-- User-defined docstrings Docstring standards Built-in docstrings PyDoc:The help Function PyDoc:HTML Reports Standard Manual Set Web Resources Published Books Common Coding Gotchas …… PartⅣ Function 15.Function Basics 16.Scopes and Arguments 17.Advanced Function Topics PartⅤ.Modules 18.Modules:The Big Picture 19.Module Coding Basics 20.Module Packages 21.Advanced Module Topics PartⅥ Classes and OOP 22.OOP:The Big Picture 23.Class Coding Basics 24.Class Coding Details 25.Designing with Classes 26.Advanced Class Topics PartⅦ Exceptions and Tools 27.Exception Basics 28.Exception Objects 29.Designing with Exceptions PartⅧ Appendixes A.Installation and Configuration B.Solutions to End-of-Part Exercises Index