| |
| |
Introduction | |
| |
| |
About Python | |
| |
| |
About This Book | |
| |
| |
A Preview | |
| |
| |
Built-In Types | |
| |
| |
| |
Getting Started | |
| |
| |
Getting Python | |
| |
| |
Reading Python Documentation | |
| |
| |
Opening a Command-Prompt Window | |
| |
| |
Setting Your Path | |
| |
| |
Using Python Environment Variables | |
| |
| |
Running Programs in Interactive Mode | |
| |
| |
Running Programs in Script Mode | |
| |
| |
Using IDLE | |
| |
| |
Specifying Command-Line Options | |
| |
| |
Passing Arguments to a Script | |
| |
| |
| |
Expressions and Statements | |
| |
| |
Documenting Programs | |
| |
| |
Naming Variables | |
| |
| |
Creating Expressions | |
| |
| |
Creating Expression Statements | |
| |
| |
Creating Variables | |
| |
| |
Deleting Variables | |
| |
| |
Printing Objects | |
| |
| |
Determining an Object's Identity | |
| |
| |
Creating References to the Same Object | |
| |
| |
Determining an Object's Type | |
| |
| |
Using Boolean Operators | |
| |
| |
Using Comparison Operators | |
| |
| |
Chaining Comparisons | |
| |
| |
Determining the Order of Evaluation | |
| |
| |
Summarizing Objects | |
| |
| |
| |
Working with Numbers | |
| |
| |
Understanding the Types of Numbers | |
| |
| |
Understanding Promotion | |
| |
| |
Performing Basic Arithmetic | |
| |
| |
Raising a Number to a Power | |
| |
| |
Getting the Remainder of a Division | |
| |
| |
Getting the Quotient of a Division | |
| |
| |
Controlling Calculation Order | |
| |
| |
Making Augmented Assignments | |
| |
| |
Converting Among Number Types | |
| |
| |
Comparing Numbers | |
| |
| |
Using Mathematical Functions | |
| |
| |
Using Advanced Mathematical Functions | |
| |
| |
Generating Random Numbers | |
| |
| |
| |
Working with Strings | |
| |
| |
Creating a String | |
| |
| |
Inserting Special Characters into a String | |
| |
| |
Creating a Unicode String | |
| |
| |
Finding the Length of a String | |
| |
| |
Indexing a String (Extracting a Character) | |
| |
| |
Slicing a String (Extracting a Substring) | |
| |
| |
Concatenating Strings | |
| |
| |
Repeating a String | |
| |
| |
Using String Methods and Functions | |
| |
| |
Changing String Case | |
| |
| |
Testing a String | |
| |
| |
Trimming and Justifying a String | |
| |
| |
Searching for Substrings | |
| |
| |
Replacing Substrings | |
| |
| |
Translating a String | |
| |
| |
Splitting and Joining Strings | |
| |
| |
Performing List Operations on a String | |
| |
| |
Converting a String | |
| |
| |
Comparing Strings | |
| |
| |
Printing Formatted Strings | |
| |
| |
| |
Working with Lists and Tuples | |
| |
| |
Creating a List or Tuple | |
| |
| |
Finding the Length of a List or Tuple | |
| |
| |
Indexing a List or Tuple (Extracting an Item) | |
| |
| |
Slicing a List or Tuple (Extracting a Segment) | |
| |
| |
Copying a List or Tuple | |
| |
| |
Concatenating Lists or Tuples | |
| |
| |
Repeating a List or Tuple | |
| |
| |
Converting a List or Tuple | |
| |
| |
Comparing Lists or Tuples | |
| |
| |
Testing List or Tuple Membership | |
| |
| |
Modifying a List | |
| |
| |
Replacing List Items | |
| |
| |
Counting Matching List Values | |
| |
| |
Searching a List | |
| |
| |
Adding List Items | |
| |
| |
Removing List Items | |
| |
| |
Sorting a List | |
| |
| |
Inserting Items into a Sorted List | |
| |
| |
Defining a Custom List Sort Order | |
| |
| |
Reversing a List | |
| |
| |
| |
Working with Dictionaries | |
| |
| |
Using Dictionary Operators and Methods | |
| |
| |
Creating a Dictionary | |
| |
| |
Printing a Dictionary | |
| |
| |
Getting a Value by Using a Key | |
| |
| |
Getting All of a Dictionary's Values | |
| |
| |
Getting All of a Dictionary's Keys | |
| |
| |
Getting All of a Dictionary's Key-Value Pairs | |
| |
| |
Determining Whether a Key Exists | |
| |
| |
Counting a Dictionary's Key-Value Pairs | |
| |
| |
Adding or Replacing a Key-Value Pair | |
| |
| |
Removing a Key-Value Pair | |
| |
| |
Removing a Random Key-Value Pair | |
| |
| |
Clearing or Deleting a Dictionary | |
| |
| |
Combining Dictionaries | |
| |
| |
Copying a Dictionary | |
| |
| |
Converting a Dictionary | |
| |
| |
Comparing Dictionaries | |
| |
| |
Sorting a Dictionary | |
| |
| |
Storing Computed Values in a Dictionary | |
| |
| |
| |
Control Flow Statements | |
| |
| |
Splitting Statements Across Lines | |
| |
| |
Creating Compound Statements | |
| |
| |
Using pass to Create a Null Statement | |
| |
| |
Indenting Blocks of Statements | |
| |
| |
Putting Multiple Statements on a Line | |
| |
| |
Using if Conditionals | |
| |
| |
Using if-else Conditionals | |
| |
| |
Using if-elif-else Conditionals | |
| |
| |
Using while Loops | |
| |
| |
Using while-else Loops | |
| |
| |
Using for Loops | |
| |
| |
Using for-else Loops | |
| |
| |
Looping over a Range of Integers | |
| |
| |
Skipping Part of a Loop Iteration | |
| |
| |
Exiting a Loop | |
| |
| |
| |
Functions | |
| |
| |
Defining a Function | |
| |
| |
Documenting a Function | |
| |
| |
Calling a Function | |
| |
| |
Returning a Value from a Function | |
| |
| |
Returning Multiple Values from a Function | |
| |
| |
Specifying Positional Arguments | |
| |
| |
Specifying Default Parameter Values | |
| |
| |
Specifying Keyword Arguments | |
| |
| |
Specifying an Arbitrary Number of Positional Arguments | |
| |
| |
Specifying an Arbitrary Number of Keyword Arguments | |
| |
| |
Combining Argument-Passing Techniques | |
| |
| |
Creating Recursive Functions | |
| |
| |
Passing Mutable and Immutable Arguments to Functions | |
| |
| |
Declaring Global Variables | |
| |
| |
Assigning a Function to a Variable | |
| |
| |
Using Functional Programming Tools | |
| |
| |
Using lambda Expressions to Create Functions | |
| |
| |
Using apply to Call a Function | |
| |
| |
Using map to Apply a Function to Sequence Items | |
| |
| |
Using zip to Group Sequence Items | |
| |
| |
Using filter to Remove Sequence Items Conditionally | |
| |
| |
Using reduce to Reduce a Sequence | |
| |
| |
Using List Comprehensions to Create Lists | |
| |
| |
| |
Modules | |
| |
| |
Structuring a Module | |
| |
| |
Creating a Module | |
| |
| |
Documenting a Module | |
| |
| |
Loading a Module with import | |
| |
| |
Accessing Attributes | |
| |
| |
Listing an Object's Attributes | |
| |
| |
Manipulating Attributes | |
| |
| |
Loading Specific Module Names with from | |
| |
| |
Loading a Module Under a Different Name with as | |
| |
| |
Enabling Language Features | |
| |
| |
Reloading a Module with reload | |
| |
| |
Specifying the Module Search Path | |
| |
| |
Determining Whether a Module Is Running As a Program | |
| |
| |
Determining Which Modules Are Loaded | |
| |
| |
Understanding Namespaces | |
| |
| |
Accessing Namespaces | |
| |
| |
Understanding Scoping Rules | |
| |
| |
Nesting Functions | |
| |
| |
Grouping Modules into Packages | |
| |
| |
Terminating a Program Explicitly | |
| |
| |
Running Code Programmatically | |
| |
| |
| |
Files | |
| |
| |
Opening a File | |
| |
| |
Reading from a File | |
| |
| |
Writing to a File | |
| |
| |
Closing a File | |
| |
| |
Changing Position in a File | |
| |
| |
Truncating a File | |
| |
| |
Getting File Object Information | |
| |
| |
Printing to a File | |
| |
| |
Accessing Standard Input and Output Files | |
| |
| |
Prompting for User Input | |
| |
| |
Using the File System | |
| |
| |
Accessing Environment Variables | |
| |
| |
Changing the Working Directory | |
| |
| |
Listing Directory Contents | |
| |
| |
Creating a Directory | |
| |
| |
Removing a Directory | |
| |
| |
Renaming a File or Directory | |
| |
| |
Removing a File | |
| |
| |
Getting Path Information | |
| |
| |
Getting File Information | |
| |
| |
Splitting Paths | |
| |
| |
Joining Paths | |
| |
| |
Saving Objects As Files | |
| |
| |
| |
Exceptions | |
| |
| |
Understanding the Exception Hierarchy | |
| |
| |
Handling an Exception | |
| |
| |
Ignoring an Exception | |
| |
| |
Getting an Exception's Argument | |
| |
| |
Handling All Exceptions | |
| |
| |
Running Code in the Absence of an Exception | |
| |
| |
Handling Multiple Exceptions | |
| |
| |
Running Mandatory Cleanup Code | |
| |
| |
Raising an Exception Explicitly | |
| |
| |
Creating User-Defined Exceptions | |
| |
| |
Making an Assertion | |
| |
| |
| |
Classes | |
| |
| |
Understanding OOP Terminology | |
| |
| |
Defining a Class | |
| |
| |
Documenting a Class | |
| |
| |
Accessing Built-In Class Attributes | |
| |
| |
Creating an Instance | |
| |
| |
Accessing Built-In Instance Attributes | |
| |
| |
Creating Class Variables | |
| |
| |
Using Special Methods to Overload Standard Behavior | |
| |
| |
Creating Instance Variables with an Initialization Method | |
| |
| |
Destroying an Instance | |
| |
| |
Creating a String Representation of an Instance | |
| |
| |
Setting the Truth Value of an Instance | |
| |
| |
Comparing Instances | |
| |
| |
Accessing Instance Attributes | |
| |
| |
Treating an Instance Like a List or Dictionary | |
| |
| |
Performing Mathematical Operations on Instances | |
| |
| |
Calling an Instance | |
| |
| |
Defining and Invoking a Custom Method | |
| |
| |
Deriving New Classes from Existing Classes | |
| |
| |
Hiding Private Data | |
| |
| |
Determining Class Membership | |
| |
| |
Appendix A | |
| |
| |
Learning Python | |
| |
| |
Getting Support | |
| |
| |
Editing and Debugging Code | |
| |
| |
Programming Resources | |
| |
| |
Index | |