Preface ...................................................................................................................... x Who This Book Is For .......................................................................................... x History Lesson ................................................................................................... x Status of the book ................................................................................................ x Official Website ................................................................................................. xi License Terms ................................................................................................... xi Feedback .......................................................................................................... xi Something To Think About .................................................................................. xi
1. Introduction ............................................................................................................ 1
Introduction ....................................................................................................... 1
Features of Python .............................................................................................. 1
Summary ................................................................................................... 2
Why not Perl? .................................................................................................... 3
What Programmers Say ........................................................................................ 3
2. Installing Python ..................................................................................................... 4
For Linux/BSD users ........................................................................................... 4
For Windows Users ............................................................................................. 4
Summary ........................................................................................................... 5
3. First Steps .............................................................................................................. 6
Introduction ....................................................................................................... 6
Using the interpreter prompt .................................................................................. 6
Choosing an Editor .............................................................................................. 6
Using a Source File ............................................................................................. 7
Output ...................................................................................................... 7
How It Works ............................................................................................. 8
Executable Python programs ................................................................................. 8
Getting Help ...................................................................................................... 9
Summary ......................................................................................................... 10
4. The Basics ............................................................................................................ 11
Literal Constants ............................................................................................... 11
Numbers ......................................................................................................... 11
Strings ............................................................................................................ 11
Variables ......................................................................................................... 13
Identifier Naming .............................................................................................. 13
Data Types ...................................................................................................... 14
Objects ........................................................................................................... 14
Output .................................................................................................... 15
How It Works ........................................................................................... 15
Logical and Physical Lines ................................................................................. 15
Indentation ...................................................................................................... 17
Summary ......................................................................................................... 18
5. Operators and Expressions ....................................................................................... 19
Introduction ..................................................................................................... 19
Operators ......................................................................................................... 19
Operator Precedence .......................................................................................... 21
Order of Evaluation ................................................................................... 22
Associativity ............................................................................................ 22
Expressions ...................................................................................................... 22
Using Expressions ..................................................................................... 22
Summary ......................................................................................................... 23
6. Control Flow ........................................................................................................ 24
Introduction ..................................................................................................... 24
The if statement ................................................................................................ 24
Using the if statement ................................................................................ 24
How It Works ........................................................................................... 25
The while statement ........................................................................................... 26
Using the while statement ........................................................................... 26
The for loop ..................................................................................................... 27
Using the for statement .............................................................................. 27
The break statement ........................................................................................... 28
Using the break statement ........................................................................... 28
The continue statement ....................................................................................... 30
Using the continue statement ....................................................................... 30
Summary ......................................................................................................... 30
7. Functions ............................................................................................................. 32
Introduction ..................................................................................................... 32
Defining a Function ................................................................................... 32
Function Parameters .......................................................................................... 32
Using Function Parameters ......................................................................... 33
Local Variables ................................................................................................ 33
Using Local Variables ................................................................................ 34
Using the global statement .......................................................................... 34
Default Argument Values ................................................................................... 35
Using Default Argument Values .................................................................. 35
Keyword Arguments .......................................................................................... 36
Using Keyword Arguments ......................................................................... 37
The return statement .......................................................................................... 37
Using the literal statement ........................................................................... 38
DocStrings ....................................................................................................... 38
Using DocStrings ...................................................................................... 39
Summary ......................................................................................................... 40
8. Modules ............................................................................................................... 41
Introduction ..................................................................................................... 41
Using the sys module ................................................................................. 41
Byte-compiled .pyc files ..................................................................................... 42
The from..import statement ................................................................................. 42
A module's __name__ ........................................................................................ 42
Using a module's __name__ ........................................................................ 43
Making your own Modules ................................................................................. 43
Creating your own Modules ........................................................................ 43
from..import ............................................................................................. 44
The dir() function .............................................................................................. 45
Using the dir function ................................................................................ 45
Summary ......................................................................................................... 46
9. Data Structures ...................................................................................................... 47
Introduction ..................................................................................................... 47
List ................................................................................................................ 47
Quick introduction to Objects and Classes ..................................................... 47
Using Lists .............................................................................................. 47
Tuple .............................................................................................................. 49
Using Tuples ............................................................................................ 49
Tuples and the print statement ..................................................................... 50
Dictionary ....................................................................................................... 51
Using Dictionaries ..................................................................................... 51
Sequences ........................................................................................................ 53
Using Sequences ....................................................................................... 53
References ....................................................................................................... 54
Objects and References .............................................................................. 55
More about Strings ............................................................................................ 56
String Methods ......................................................................................... 56
Summary ......................................................................................................... 57
v 10. Problem Solving - Writing a Python Script ................................................................ 58
The Problem .................................................................................................... 58
The Solution .................................................................................................... 58
First Version ............................................................................................ 58
Second Version ........................................................................................ 60
Third Version ........................................................................................... 61
Fourth Version ......................................................................................... 63
More Refinements ..................................................................................... 64
The Software Development Process ...................................................................... 65
Summary ......................................................................................................... 65
11. Object-Oriented Programming ................................................................................ 67
Introduction ..................................................................................................... 67
The self ........................................................................................................... 67
Classes ............................................................................................................ 68
Creating a Class ........................................................................................ 68
object Methods ................................................................................................. 69
Using Object Methds ................................................................................. 69
The __init__ method .......................................................................................... 69
Using the __init__ method .......................................................................... 69
Class and Object Variables ................................................................................. 70
Using Class and Object Variables ................................................................. 71
Inheritance ....................................................................................................... 73
Using Inheritance ...................................................................................... 73
Summary ......................................................................................................... 75
12. Input/Output ....................................................................................................... 76
Files ............................................................................................................... 76
Using file ................................................................................................ 76
Pickle ............................................................................................................. 77
Pickling and Unpickling ............................................................................. 77
Summary ......................................................................................................... 78
13. Exceptions .......................................................................................................... 79
Errors ............................................................................................................. 79
Try..Except ...................................................................................................... 79
Handling Exceptions .................................................................................. 79
Raising Exceptions ............................................................................................ 80
How To Raise Exceptions ........................................................................... 81
Try..Finally ...................................................................................................... 82
Using Finally ........................................................................................... 82
Summary ......................................................................................................... 83
14. The Python Standard Library .................................................................................. 84
Introduction ..................................................................................................... 84
The sys module ................................................................................................. 84
Command Line Arguments ......................................................................... 84
More sys ................................................................................................. 86
The os module .................................................................................................. 86
Summary ......................................................................................................... 87
15. More Python ....................................................................................................... 88
Special Methods ............................................................................................... 88
Single Statement Blocks ..................................................................................... 88
List Comprehension ........................................................................................... 89
Using List Comprehensions ........................................................................ 89
Receiving Tuples and Lists in Functions ................................................................ 89
Lambda Forms ................................................................................................. 90
Using Lambda Forms ................................................................................. 90
The exec and eval statements ............................................................................... 91
The assert statement .......................................................................................... 91
The repr function .............................................................................................. 91
Summary ..............................................