Learn Python 3 the Hard Way

Zed A. Shaw

科技

编程

2017-7-7

Addison

目录
Preface xvii
Acknowledgments xx

Exercise 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
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

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

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
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
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
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
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

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
Common Student 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
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
Testing Your Setup 197
Using the Skeleton 198
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
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
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
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
【展开】
内容简介

You Will Learn 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.

In Learn Python 3 the Hard Way, you’ll learn Python by working through 52 brilliantly 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.

Install a complete Python environment Organize and write code Fix and break code Basic mathematics Variables Strings and text Interact with users Work with files Looping and logic Data structures using lists and dictionaries Program design Object-oriented programming Inheritance and composition Modules, classes, and objects Python packaging Automated testing Basic game development Basic web development

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

Total beginners with zero programming experience Junior developers who know one or two languages Returning professionals who haven’t written code in years Seasoned professionals looking for a fast, simple, crash course in Python 3

【展开】
下载说明

1、追日是作者栎年创作的原创作品,下载链接均为网友上传的的网盘链接!

2、相识电子书提供优质免费的txt、pdf等下载链接,所有电子书均为完整版!

下载链接
热门评论
  • .的评论
    把书里的大多数代码都码了一遍。。。
  • 谷幽的评论
    老鸟不推荐
  • czhfrank的评论
    确实适合新手,行文也很接地气,最后一章的建议也挺搞笑的哈哈哈
  • ゴルゴ13的评论
    果然是hard way,电子书为防止偷懒禁用了复制粘贴,只能手动敲代码w
  • 醉舟的评论
    python 入门最佳书籍
  • Kevin Lee的评论
    以为这本python3会和之前的有什么不同,居然就只有一个3.6的fstring。 大哥,你逗我?
  • 踏雪飞鸿的评论
    Python入门,离上路以至精通还有距离。我觉得比大一学c语言简单了,也许是接触过几种编程,有了程序语言思维;也许python确实简单些。
  • 已注销的评论
    整本书的代码跟着pdf码了一遍 最后那个Ex52是什么鬼 pdf上用的是flask 网页版用的是web.py web的跑都跑不起来 session翻了半天源码也没看懂 ..
  • Copperfield的评论
    非常Nice的一本Python学习书,作为入门编程语言或者快速学习Python来说都很不错,52题快速过一遍基本可以开始用Python展开更加深入的应用了
  • Sothis的评论
    后面几个练习涉及的内容很多,并没有完全掌握,要时不时回顾。很喜欢作者的态度。