PRODUCT ANNOUNCEMENT
Pearson Test Prep Practice Test access codes delivered online at registration.Learn more.
This eBook includes the following formats, accessible from yourAccountpage after purchase:
EPUBThe open industry format known for its reflowable content and usability on supported mobile devices.
PDFThe popular standard, used most often with the freeAdobe® Reader®software.
This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
Also available inother formats.
Register your productto gain access to bonus material or receive a coupon.
YouWillLearn Python 3!
Zed Shaw has perfected the world’s best system for learning Python 3. Follow it and you will succeed—just like the millions of beginners Zed has taught to date! You bring the discipline, commitment, and persistence; the author supplies everything else.
InLearn Python 3 the Hard Way,您将学习Python通过52 brillian工作tly crafted exercises. Read them. Type their code precisely. (No copying and pasting!) Fix your mistakes. Watch the programs run. As you do, you’ll learn how a computer works; what good programs look like; and how to read, write, and think about code. Zed then teaches you even more in 5+ hours of video where he shows you how to break, fix, and debug your code—live, as he’s doing the exercises.
It’ll be hard at first. But soon, you’ll just get it—and that will feel great! This course will reward you for every minute you put into it. Soon, you’ll know one of the world’s most powerful, popular programming languages. You’ll be a Python programmer.
This Book Is Perfect For
Preface xvii
Acknowledgments xxExercise 0: The Setup 2
macOS 2
Windows 3
Linux 4
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
常见的学生Questions 12
Exercise 2: Comments and Pound Characters 14
What You Should See 14
Study Drills 14
常见的学生Questions 15
Exercise 3: Numbers and Math 16
What You Should See 17
Study Drills 17
常见的学生Questions 17
Exercise 4: Variables and Names 20
What You Should See 21
Study Drills 21
常见的学生Questions 21
Exercise 5: More Variables and Printing 24
What You Should See 24
Study Drills 25
常见的学生Questions 25
Exercise 6: Strings and Text 26
What You Should See 27
Study Drills 27
Break It 27
常见的学生Questions 27
Exercise 7: More Printing 28
What You Should See 28
Study Drills 29
Break It 29
常见的学生Questions 29
Exercise 8: Printing, Printing 30
What You Should See 30
Study Drills 31
常见的学生Questions 31
Exercise 9: Printing, Printing, Printing 32
What You Should See 32
Study Drills 33
常见的学生Questions 33
Exercise 10: What Was That? 34
What You Should See 35
Escape Sequences 35
Study Drills 36
常见的学生Questions 36
Exercise 11: Asking Questions 38
What You Should See 38
Study Drills 39
常见的学生Questions 39
Exercise 12: Prompting People 40
What You Should See 40
Study Drills 40
常见的学生Questions 41
Exercise 13: Parameters, Unpacking, Variables 42
Hold Up! Features Have Another Name 42
What You Should See 43
Study Drills 44
常见的学生Questions 44
Exercise 14: Prompting and Passing 46
What You Should See 46
Study Drills 47
常见的学生Questions 47
Exercise 15: Reading Files 48
What You Should See 49
Study Drills 49
常见的学生Questions 50
Exercise 16: Reading and Writing Files 52
What You Should See 53
Study Drills 53
常见的学生Questions 54
Exercise 17: More Files 56
What You Should See 56
Study Drills 57
常见的学生Questions 57
Exercise 18: Names, Variables, Code, Functions 60
What You Should See 61
Study Drills 62
常见的学生Questions 62
Exercise 19: Functions and Variables 64
What You Should See 65
Study Drills 65
常见的学生Questions 65
Exercise 20: Functions and Files 68
What You Should See 69
Study Drills 69
常见的学生Questions 69
Exercise 21: Functions Can Return Something 72
What You Should See 73
Study Drills 73
常见的学生Questions 74
Exercise 22: What Do You Know So Far? 76
What You Are Learning 76
锻炼23:字符串、字节和字符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
常见的学生Questions 87
Exercise 25: Even More Practice 90
What You Should See 91
Study Drills 92
常见的学生Questions 93
Exercise 26: Congratulations, Take a Test! 94
常见的学生Questions 94
Exercise 27: Memorizing Logic 96
The Truth Terms 96
The Truth Tables 97
常见的学生Questions 98
Exercise 28: Boolean Practice 100
What You Should See 102
Study Drills 102
常见的学生Questions 102
Exercise 29: What If 104
What You Should See 104
Study Drills 105
常见的学生Questions 105
Exercise 30: Else and If 106
What You Should See 107
Study Drills 107
常见的学生Questions 107
Exercise 31: Making Decisions 108
What You Should See 109
Study Drills 109
常见的学生Questions 109
Exercise 32: Loops and Lists 112
What You Should See 113
Study Drills 114
常见的学生Questions 114
Exercise 33: While Loops 116
What You Should See 117
Study Drills 117
常见的学生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
常见的学生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
Reading Code 132
Study Drills 133
常见的学生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
常见的学生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
常见的学生Questions 144
Exercise 40: Modules, Classes, and Objects 146
Modules Are Like Dictionaries 146
What You Should See 150
Study Drills 150
常见的学生Questions 151
Exercise 41: Learning to Speak Object-Oriented 152
Word Drills 152
Phrase Drills 152
Combined Drills 153
A Reading Test 153
代码155练英语
Reading More Code 156
常见的学生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
常见的学生Questions 161
Exercise 43: Basic Object-Oriented Analysis and Design 164
The Analysis of a Simple Game Engine 165
Top Down versus Bottom Up 169
The Code for “Gothons from Planet Percal #25” 170
What You Should See 176
Study Drills 176
常见的学生Questions 177
Exercise 44: Inheritance versus Composition 178
What Is Inheritance? 178
The Reason for super() 183
Composition 184
When to Use Inheritance or Composition 185
Study Drills 185
常见的学生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
Testing Your Setup 197
Using the Skeleton 198
Required Quiz 198
常见的学生Questions 198
Exercise 47: Automated Testing 200
Writing a Test Case 200
Testing Guidelines 202
What You Should See 202
Study Drills 203
常见的学生Questions 203
Exercise 48: Advanced User Input 204
Our Game Lexicon 204
A Test First Challenge 206
What You Should Test 207
Study Drills 209
常见的学生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
常见的学生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
常见的学生Questions 221
Exercise 51: Getting Input from a Browser 224
How the Web Works 224
How Forms Work 226
Creating HTML Forms 227
Creating a Layout Template 229
Writing Automated Tests for Forms 230
Study Drills 232
打破232
Exercise 52: The Start of Your Web Game 234
Refactoring the Exercise 43 Game 234
Creating an Engine 239
Your Final Exam 241
常见的学生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
The Setup 249
Paths, Folders, Directories (pwd) 253
If You Get Lost 255
Make a Directory (mkdir) 255
Change Directory (cd) 258
List Directory (ls) 261
Remove Directory (rmdir) 265
Moving Around (pushd, popd) 268
Making Empty Files (touch/New-Item) 271
Copy a File (cp) 272
Moving a File (mv) 275
View a File (less/more) 277
Stream a File (cat) 278
Removing a File (rm) 280
Exiting Your Terminal (exit) 282
Command Line Next Steps 283
Index 284