Beginning Python - From Novice to Professional
Beginning Python - From Novice to Professional Beginning Python - From Novice to Professional
Contents About the Author . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiii About the Technical Reviewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxv Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvii Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxix ■CHAPTER 1 Instant Hacking: The Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Installing Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Linux and UNIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Macintosh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Other Distributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Keeping In Touch and Up to Date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 The Interactive Interpreter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Algo . . . What? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Numbers and Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Large Integers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Hexadecimals and Octals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Getting Input from the User . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 cmath and Complex Numbers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Back to the _ _future_ _ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Saving and Executing Your Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Running Your Python Scripts from a Command Prompt . . . . . . . . . 20 Making Your Scripts Behave Like Normal Programs . . . . . . . . . . . . 21 Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 vii
viii ■CONTENTS Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Single-Quoted Strings and Escaping Quotes. . . . . . . . . . . . . . . . . . . 23 Concatenating Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 String Representations, str and repr. . . . . . . . . . . . . . . . . . . . . . . . . . 25 input vs. raw_input. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Long Strings, Raw Strings, and Unicode . . . . . . . . . . . . . . . . . . . . . . 26 A Quick Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 New Functions in This Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 What Now? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 ■CHAPTER 2 Lists and Tuples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Common Sequence Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Indexing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Slicing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Adding Sequences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Multiplication. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Membership . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Length, Minimum, and Maximum. . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Lists: Python’s Workhorse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 The list Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Basic List Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 List Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Tuples: Immutable Sequences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 The tuple Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Basic Tuple Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 So What’s the Point? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 A Quick Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 New Functions in This Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 What Now? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 ■CHAPTER 3 Working with Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Basic String Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 String Formatting: The Short Version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 String Formatting: The Long Version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Simple Conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Width and Precision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Signs, Alignment, and Zero-Padding . . . . . . . . . . . . . . . . . . . . . . . . . 58
- Page 2 and 3: Beginning Python From Novice to Pro
- Page 4: For Ranveig
- Page 7: ■CHAPTER 23 Project 4: In the New
- Page 11 and 12: x ■CONTENTS ■CHAPTER 5 Conditio
- Page 13 and 14: xii ■CONTENTS ■CHAPTER 8 Except
- Page 15 and 16: xiv ■CONTENTS ■CHAPTER 11 Files
- Page 17 and 18: xvi ■CONTENTS Dynamic Web Pages w
- Page 19 and 20: xviii ■CONTENTS ■CHAPTER 20 Pro
- Page 21 and 22: xx ■CONTENTS Second Implementatio
- Page 23 and 24: xxii ■CONTENTS Preparations . . .
- Page 26: About the Technical Reviewer ■JER
- Page 30 and 31: Introduction A C program is like a
- Page 32 and 33: CHAPTER 1 ■ ■ ■ Instant Hacki
- Page 34 and 35: CHAPTER 1 ■ INSTANT HACKING: THE
- Page 36 and 37: CHAPTER 1 ■ INSTANT HACKING: THE
- Page 38 and 39: CHAPTER 1 ■ INSTANT HACKING: THE
- Page 40 and 41: CHAPTER 1 ■ INSTANT HACKING: THE
- Page 42 and 43: CHAPTER 1 ■ INSTANT HACKING: THE
- Page 44 and 45: CHAPTER 1 ■ INSTANT HACKING: THE
- Page 46 and 47: CHAPTER 1 ■ INSTANT HACKING: THE
- Page 48 and 49: CHAPTER 1 ■ INSTANT HACKING: THE
- Page 50 and 51: CHAPTER 1 ■ INSTANT HACKING: THE
- Page 52 and 53: CHAPTER 1 ■ INSTANT HACKING: THE
- Page 54 and 55: CHAPTER 1 ■ INSTANT HACKING: THE
- Page 56 and 57: CHAPTER 1 ■ INSTANT HACKING: THE
Contents<br />
About the Author . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiii<br />
About the Technical Reviewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxv<br />
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvii<br />
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxix<br />
■CHAPTER 1 Instant Hacking: The Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1<br />
Installing <strong>Python</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1<br />
Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1<br />
Linux and UNIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3<br />
Macin<strong>to</strong>sh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6<br />
Other Distributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6<br />
Keeping In Touch and Up <strong>to</strong> Date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8<br />
The Interactive Interpreter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8<br />
Algo . . . What? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9<br />
Numbers and Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10<br />
Large Integers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12<br />
Hexadecimals and Octals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13<br />
Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13<br />
Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14<br />
Getting Input from the User . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15<br />
Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16<br />
Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17<br />
cmath and Complex Numbers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18<br />
Back <strong>to</strong> the _ _future_ _ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19<br />
Saving and Executing Your Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19<br />
Running Your <strong>Python</strong> Scripts from a Command Prompt . . . . . . . . . 20<br />
Making Your Scripts Behave Like Normal Programs . . . . . . . . . . . . 21<br />
Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22<br />
vii