实例介绍
【实例截图】
【核心代码】
Contents
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii
Improvements in the Python 3 Edition . . . . . . . . . . . . . . . . . . xvii
The Hard Way Is Easier . . . . . . . . . . . . . . . . . . . . . . . . . .xviii
Reading and Writing . . . . . . . . . . . . . . . . . . . . . . . . . .xviii
Attention to Detail . . . . . . . . . . . . . . . . . . . . . . . . . . . .xviii
Spotting Differences . . . . . . . . . . . . . . . . . . . . . . . . . .xviii
Ask, Don’t Stare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix
Do Not Copy-Paste . . . . . . . . . . . . . . . . . . . . . . . . . . . xix
Using the Included Videos . . . . . . . . . . . . . . . . . . . . . . . xix
A Note on Practice and Persistence . . . . . . . . . . . . . . . . . . xix
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xx
Exercise 0 The Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
macOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
macOS: What You Should See . . . . . . . . . . . . . . . . . . . . 3
Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Windows: What You Should See . . . . . . . . . . . . . . . . . . . 4
Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Linux: What You Should See . . . . . . . . . . . . . . . . . . . . . . 5
Finding Things on the Internet . . . . . . . . . . . . . . . . . . . . . . . 5
Warnings for Beginners . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Alternative Text Editors . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Exercise 1 A Good First Program . . . . . . . . . . . . . . . . . . . . . . 8
What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Study Drills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Common Student Questions . . . . . . . . . . . . . . . . . . . . . . . . 12
Exercise 2 Comments and Pound Characters . . . . . . . . . . . . . . . 14
What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Study Drills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Common Student Questions . . . . . . . . . . . . . . . . . . . . . . . . 15
Exercise 3 Numbers and Math . . . . . . . . . . . . . . . . . . . . . . . 16
What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Study Drills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Common Student Questions . . . . . . . . . . . . . . . . . . . . . . . . 17
vi CONTENTS
Exercise 4 Variables and Names . . . . . . . . . . . . . . . . . . . . . . 20
What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Study Drills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Common Student Questions . . . . . . . . . . . . . . . . . . . . . . . . 21
Exercise 5 More Variables and Printing . . . . . . . . . . . . . . . . . . 24
What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Study Drills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Common Student Questions . . . . . . . . . . . . . . . . . . . . . . . . 25
Exercise 6 Strings and Text . . . . . . . . . . . . . . . . . . . . . . . . . 26
What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Study Drills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Break It . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Common Student Questions . . . . . . . . . . . . . . . . . . . . . . . . 27
Exercise 7 More Printing . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Study Drills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Break It . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Common Student Questions . . . . . . . . . . . . . . . . . . . . . . . . 29
Exercise 8 Printing, Printing . . . . . . . . . . . . . . . . . . . . . . . . . 30
What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Study Drills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Common Student Questions . . . . . . . . . . . . . . . . . . . . . . . . 31
Exercise 9 Printing, Printing, Printing . . . . . . . . . . . . . . . . . . . . 32
What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Study Drills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Common Student Questions . . . . . . . . . . . . . . . . . . . . . . . . 33
Exercise 10 What Was That? . . . . . . . . . . . . . . . . . . . . . . . . 34
What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Escape Sequences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Study Drills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Common Student Questions . . . . . . . . . . . . . . . . . . . . . . . . 36
Exercise 11 Asking Questions . . . . . . . . . . . . . . . . . . . . . . . . 38
What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Study Drills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Common Student Questions . . . . . . . . . . . . . . . . . . . . . . . . 39
CONTENTS vii
Exercise 12 Prompting People . . . . . . . . . . . . . . . . . . . . . . . 40
What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Study Drills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Common Student Questions . . . . . . . . . . . . . . . . . . . . . . . . 41
Exercise 13 Parameters, Unpacking, Variables . . . . . . . . . . . . . . 42
Hold Up! Features Have Another Name . . . . . . . . . . . . . . . . . 42
What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Study Drills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Common Student Questions . . . . . . . . . . . . . . . . . . . . . . . . 44
Exercise 14 Prompting and Passing . . . . . . . . . . . . . . . . . . . . 46
What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Study Drills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Common Student Questions . . . . . . . . . . . . . . . . . . . . . . . . 47
Exercise 15 Reading Files . . . . . . . . . . . . . . . . . . . . . . . . . . 48
What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Study Drills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Common Student Questions . . . . . . . . . . . . . . . . . . . . . . . . 50
Exercise 16 Reading and Writing Files . . . . . . . . . . . . . . . . . . . 52
What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Study Drills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Common Student Questions . . . . . . . . . . . . . . . . . . . . . . . . 54
Exercise 17 More Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Study Drills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Common Student Questions . . . . . . . . . . . . . . . . . . . . . . . . 57
Exercise 18 Names, Variables, Code, Functions . . . . . . . . . . . . . 60
What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Study Drills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Common Student Questions . . . . . . . . . . . . . . . . . . . . . . . . 62
Exercise 19 Functions and Variables . . . . . . . . . . . . . . . . . . . . 64
What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Study Drills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Common Student Questions . . . . . . . . . . . . . . . . . . . . . . . . 65
Exercise 20 Functions and Files . . . . . . . . . . . . . . . . . . . . . . 68
What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
viii CONTENTS
Study Drills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Common Student Questions . . . . . . . . . . . . . . . . . . . . . . . . 69
Exercise 21 Functions Can Return Something . . . . . . . . . . . . . . . 72
What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Study Drills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Common Student Questions . . . . . . . . . . . . . . . . . . . . . . . . 74
Exercise 22 What Do You Know So Far? . . . . . . . . . . . . . . . . . 76
What You Are Learning . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Exercise 23 Strings, Bytes, and Character Encodings . . . . . . . . . . 78
Initial Research . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Switches, Conventions, and Encodings . . . . . . . . . . . . . . . . . . 80
Disecting the Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Disecting the Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Encodings Deep Dive . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Breaking It . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Exercise 24 More Practice . . . . . . . . . . . . . . . . . . . . . . . . . . 86
What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Study Drills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Common Student Questions . . . . . . . . . . . . . . . . . . . . . . . . 87
Exercise 25 Even More Practice . . . . . . . . . . . . . . . . . . . . . . 90
What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Study Drills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Common Student Questions . . . . . . . . . . . . . . . . . . . . . . . . 93
Exercise 26 Congratulations, Take a Test! . . . . . . . . . . . . . . . . . 94
Common Student Questions . . . . . . . . . . . . . . . . . . . . . . . . 94
Exercise 27 Memorizing Logic . . . . . . . . . . . . . . . . . . . . . . . 96
The Truth Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
The Truth Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Common Student Questions . . . . . . . . . . . . . . . . . . . . . . . . 98
Exercise 28 Boolean Practice . . . . . . . . . . . . . . . . . . . . . . . .100
What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . .102
Study Drills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .102
Common Student Questions . . . . . . . . . . . . . . . . . . . . . . . .102
Exercise 29 What If . . . . . . . . . . . . . . . . . . . . . . . . . . . . .104
What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . .104
CONTENTS ix
Study Drills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .105
Common Student Questions . . . . . . . . . . . . . . . . . . . . . . . .105
Exercise 30 Else and If . . . . . . . . . . . . . . . . . . . . . . . . . . .106
What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . .107
Study Drills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .107
Common Student Questions . . . . . . . . . . . . . . . . . . . . . . . .107
Exercise 31 Making Decisions . . . . . . . . . . . . . . . . . . . . . . .108
What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . .109
Study Drills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .109
Common Student Questions . . . . . . . . . . . . . . . . . . . . . . . .109
Exercise 32 Loops and Lists . . . . . . . . . . . . . . . . . . . . . . . . .112
What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . .113
Study Drills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .114
Common Student Questions . . . . . . . . . . . . . . . . . . . . . . . .114
Exercise 33 While Loops . . . . . . . . . . . . . . . . . . . . . . . . . .116
What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . .117
Study Drills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .117
Common Student Questions . . . . . . . . . . . . . . . . . . . . . . . .118
Exercise 34 Accessing Elements of Lists . . . . . . . . . . . . . . . . . .120
Study Drills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .121
Exercise 35 Branches and Functions . . . . . . . . . . . . . . . . . . . .122
What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . .123
Study Drills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .124
Common Student Questions . . . . . . . . . . . . . . . . . . . . . . . .124
Exercise 36 Designing and Debugging . . . . . . . . . . . . . . . . . . .126
Rules for if-statements . . . . . . . . . . . . . . . . . . . . . . . .126
Rules for Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .126
Tips for Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . .127
Homework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .127
Exercise 37 Symbol Review . . . . . . . . . . . . . . . . . . . . . . . . .128
Keywords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .128
Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .129
String Escape Sequences . . . . . . . . . . . . . . . . . . . . . . . . .130
Old Style String Formats . . . . . . . . . . . . . . . . . . . . . . . . . .130
Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .131
x CONTENTS
Reading Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .132
Study Drills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .133
Common Student Questions . . . . . . . . . . . . . . . . . . . . . . . .133
Exercise 38 Doing Things to Lists . . . . . . . . . . . . . . . . . . . . . .134
What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . .135
What Lists Can Do . . . . . . . . . . . . . . . . . . . . . . . . . . . . .136
When to Use Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . .137
Study Drills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .137
Common Student Questions . . . . . . . . . . . . . . . . . . . . . . . .138
Exercise 39 Dictionaries, Oh Lovely Dictionaries . . . . . . . . . . . . .140
A Dictionary Example . . . . . . . . . . . . . . . . . . . . . . . . . . .141
What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . .142
What Dictionaries Can Do . . . . . . . . . . . . . . . . . . . . . . . . .143
Study Drills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .144
Common Student Questions . . . . . . . . . . . . . . . . . . . . . . . .144
Exercise 40 Modules, Classes, and Objects . . . . . . . . . . . . . . . .146
Modules Are Like Dictionaries . . . . . . . . . . . . . . . . . . . . . . .146
Classes Are Like Modules . . . . . . . . . . . . . . . . . . . . . . .147
Objects Are Like Import . . . . . . . . . . . . . . . . . . . . . . . .148
Getting Things from Things . . . . . . . . . . . . . . . . . . . . . .149
A First Class Example . . . . . . . . . . . . . . . . . . . . . . . . .150
What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . .150
Study Drills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .150
Common Student Questions . . . . . . . . . . . . . . . . . . . . . . . .151
Exercise 41 Learning to Speak Object-Oriented . . . . . . . . . . . . . .152
Word Drills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .152
Phrase Drills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .152
Combined Drills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .153
A Reading Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .153
Practice English to Code . . . . . . . . . . . . . . . . . . . . . . . . . .155
Reading More Code . . . . . . . . . . . . . . . . . . . . . . . . . . . .156
Common Student Questions . . . . . . . . . . . . . . . . . . . . . . . .156
Exercise 42 Is-A, Has-A, Objects, and Classes . . . . . . . . . . . . . .158
How This Looks in Code . . . . . . . . . . . . . . . . . . . . . . . . . .159
About class Name(object) . . . . . . . . . . . . . . . . . . . . . .161
Study Drills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .161
Common Student Questions . . . . . . . . . . . . . . . . . . . . . . . .161
CONTENTS xi
Exercise 43 Basic Object-Oriented Analysis and Design . . . . . . . . .164
The Analysis of a Simple Game Engine . . . . . . . . . . . . . . . . .165
Write or Draw About the Problem . . . . . . . . . . . . . . . . . . .165
Extract Key Concepts and Research Them . . . . . . . . . . . . . .166
Create a Class Hierarchy and Object Map for the Concepts . . . .166
Code the Classes and a Test to Run Them . . . . . . . . . . . . . .167
Repeat and Refine . . . . . . . . . . . . . . . . . . . . . . . . . . .169
Top Down versus Bottom Up . . . . . . . . . . . . . . . . . . . . . . .169
The Code for “Gothons from Planet Percal #25” . . . . . . . . . . . . .170
What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . .176
Study Drills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .176
Common Student Questions . . . . . . . . . . . . . . . . . . . . . . . .177
Exercise 44 Inheritance versus Composition . . . . . . . . . . . . . . . .178
What Is Inheritance? . . . . . . . . . . . . . . . . . . . . . . . . . . . .178
Implicit Inheritance . . . . . . . . . . . . . . . . . . . . . . . . . . .179
Override Explicitly . . . . . . . . . . . . . . . . . . . . . . . . . . . .180
Alter Before or After . . . . . . . . . . . . . . . . . . . . . . . . . . .180
All Three Combined . . . . . . . . . . . . . . . . . . . . . . . . . . .182
The Reason for super() . . . . . . . . . . . . . . . . . . . . . . . . .183
Using super() with __init__ . . . . . . . . . . . . . . . . . . . .183
Composition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .184
When to Use Inheritance or Composition . . . . . . . . . . . . . . . . .185
Study Drills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .185
Common Student Questions . . . . . . . . . . . . . . . . . . . . . . . .186
Exercise 45 You Make a Game . . . . . . . . . . . . . . . . . . . . . . .188
Evaluating Your Game . . . . . . . . . . . . . . . . . . . . . . . . . . .188
Function Style . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .189
Class Style . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .189
Code Style . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .190
Good Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .190
Evaluate Your Game . . . . . . . . . . . . . . . . . . . . . . . . . . . .190
Exercise 46 A Project Skeleton . . . . . . . . . . . . . . . . . . . . . . .192
macOS/Linux Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . .192
Windows 10 Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . .194
Creating the Skeleton Project Directory . . . . . . . . . . . . . . . . .195
Final Directory Structure . . . . . . . . . . . . . . . . . . . . . . . .196
Testing Your Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . .197
Using the Skeleton . . . . . . . . . . . . . . . . . . . . . . . . . . . . .198
xii CONTENTS
Required Quiz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .198
Common Student Questions . . . . . . . . . . . . . . . . . . . . . . . .198
Exercise 47 Automated Testing . . . . . . . . . . . . . . . . . . . . . . .200
Writing a Test Case . . . . . . . . . . . . . . . . . . . . . . . . . . . . .200
Testing Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . .202
What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . .202
Study Drills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .203
Common Student Questions . . . . . . . . . . . . . . . . . . . . . . . .203
Exercise 48 Advanced User Input . . . . . . . . . . . . . . . . . . . . . .204
Our Game Lexicon . . . . . . . . . . . . . . . . . . . . . . . . . . . . .204
Breaking Up a Sentence . . . . . . . . . . . . . . . . . . . . . . . .205
Lexicon Tuples . . . . . . . . . . . . . . . . . . . . . . . . . . . . .205
Scanning Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . .205
Exceptions and Numbers . . . . . . . . . . . . . . . . . . . . . . . .206
A Test First Challenge . . . . . . . . . . . . . . . . . . . . . . . . . . .206
What You Should Test . . . . . . . . . . . . . . . . . . . . . . . . . . .207
Study Drills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .209
Common Student Questions . . . . . . . . . . . . . . . . . . . . . . . .209
Exercise 49 Making Sentences . . . . . . . . . . . . . . . . . . . . . . .210
Match and Peek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .210
The Sentence Grammar . . . . . . . . . . . . . . . . . . . . . . . . . .211
A Word on Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . .211
The Parser Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .211
Playing with the Parser . . . . . . . . . . . . . . . . . . . . . . . . . . .214
What You Should Test . . . . . . . . . . . . . . . . . . . . . . . . . . .215
Study Drills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .215
Common Student Questions . . . . . . . . . . . . . . . . . . . . . . . .215
Exercise 50 Your First Website . . . . . . . . . . . . . . . . . . . . . . .216
Installing flask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .216
Make a Simple “Hello World” Project . . . . . . . . . . . . . . . . . . .216
What’s Going On? . . . . . . . . . . . . . . . . . . . . . . . . . . . . .218
Fixing Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .218
Create Basic Templates . . . . . . . . . . . . . . . . . . . . . . . . . .219
Study Drills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .221
Common Student Questions . . . . . . . . . . . . . . . . . . . . . . . .221
Exercise 51 Getting Input from a Browser . . . . . . . . . . . . . . . . .224
How the Web Works . . . . . . . . . . . . . . . . . . . . . . . . . . . .224
CONTENTS xiii
How Forms Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .226
Creating HTML Forms . . . . . . . . . . . . . . . . . . . . . . . . . . .227
Creating a Layout Template . . . . . . . . . . . . . . . . . . . . . . . .229
Writing Automated Tests for Forms . . . . . . . . . . . . . . . . . . . .230
Study Drills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .232
Breaking It . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .232
Exercise 52 The Start of Your Web Game . . . . . . . . . . . . . . . . .234
Refactoring the Exercise 43 Game . . . . . . . . . . . . . . . . . . . .234
Creating an Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . .239
Your Final Exam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .241
Common Student Questions . . . . . . . . . . . . . . . . . . . . . . . .242
Next Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .244
How to Learn Any Programming Language . . . . . . . . . . . . . . .245
Advice from an Old Programmer . . . . . . . . . . . . . . . . . . . . .246
Appendix Command Line Crash Course . . . . . . . . . . . . . . . . . .248
Introduction: Shut Up and Shell . . . . . . . . . . . . . . . . . . . . . .248
How to Use This Appendix . . . . . . . . . . . . . . . . . . . . . . .248
You Will Be Memorizing Things . . . . . . . . . . . . . . . . . . . .249
The Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .249
Do This . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .250
You Learned This . . . . . . . . . . . . . . . . . . . . . . . . . . . .251
Do More . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .251
Paths, Folders, Directories (pwd) . . . . . . . . . . . . . . . . . . . . .253
Do This . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .253
You Learned This . . . . . . . . . . . . . . . . . . . . . . . . . . . .254
Do More . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .254
If You Get Lost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .255
Do This . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .255
You Learned This . . . . . . . . . . . . . . . . . . . . . . . . . . . .255
Make a Directory (mkdir) . . . . . . . . . . . . . . . . . . . . . . . . .255
Do This . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .255
You Learned This . . . . . . . . . . . . . . . . . . . . . . . . . . . .257
Do More . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .257
Change Directory (cd) . . . . . . . . . . . . . . . . . . . . . . . . . . .258
Do This . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .258
You Learned This . . . . . . . . . . . . . . . . . . . . . . . . . . . .261
Do More . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .261
xiv CONTENTS
List Directory (ls) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .261
Do This . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .262
You Learned This . . . . . . . . . . . . . . . . . . . . . . . . . . . .265
Do More . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .265
Remove Directory (rmdir) . . . . . . . . . . . . . . . . . . . . . . . .265
Do This . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .266
You Learned This . . . . . . . . . . . . . . . . . . . . . . . . . . . .268
Do More . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .268
Moving Around (pushd, popd) . . . . . . . . . . . . . . . . . . . . . .268
Do This . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .268
You Learned This . . . . . . . . . . . . . . . . . . . . . . . . . . . .270
Do More . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .270
Making Empty Files (touch/New-Item) . . . . . . . . . . . . . . . . .271
Do This . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .271
You Learned This . . . . . . . . . . . . . . . . . . . . . . . . . . . .271
Do More . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .272
Copy a File (cp) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .272
Do This . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .272
You Learned This . . . . . . . . . . . . . . . . . . . . . . . . . . . .274
Do More . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .275
Moving a File (mv) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .275
Do This . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .275
You Learned This . . . . . . . . . . . . . . . . . . . . . . . . . . . .277
Do More . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .277
View a File (less/more) . . . . . . . . . . . . . . . . . . . . . . . . . .277
Do This . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .277
You Learned This . . . . . . . . . . . . . . . . . . . . . . . . . . . .278
Do More . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .278
Stream a File (cat) . . . . . . . . . . . . . . . . . . . . . . . . . . . .278
Do This . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .279
You Learned This . . . . . . . . . . . . . . . . . . . . . . . . . . . .279
Do More . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .279
Removing a File (rm) . . . . . . . . . . . . . . . . . . . . . . . . . . . .280
Do This . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .280
You Learned This . . . . . . . . . . . . . . . . . . . . . . . . . . . .281
Do More . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .281
Exiting Your Terminal (exit) . . . . . . . . . . . . . . . . . . . . . . .282
Do This . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .282
CONTENTS xv
You Learned This . . . . . . . . . . . . . . . . . . . . . . . . . . . .282
Do More . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .282
Command Line Next Steps . . . . . . . . . . . . . . . . . . . . . . . .283
Unix Bash References . . . . . . . . . . . . . . . . . . . . . . . . .283
PowerShell References . . . . . . . . . . . . . . . . . . . . . . . . .283
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .284
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论