CHF37.90
Download est disponible immédiatement
Transform Your Ideas into High-Quality Python Code!
Zed Shaw has perfected the world's best system for becoming a truly effective Python 3.x developer. Follow it and you will succeed-just like the tens of millions of programmers he's already taught. You bring the discipline, commitment, and persistence; the author supplies everything else.
In Learn Python 3 the Hard Way, Zed Shaw taught you the basics of Programming with Python 3. Now, in Learn More Python 3 the Hard Way, you'll go far beyond the basics by working through 52 brilliantly crafted projects. Each one helps you build a key practical skill, combining demos to get you started and challenges to deepen your understanding. Zed then teaches you even more in 12 hours of online videos, where he shows you how to break, fix, and debug your code.
First, you'll discover how to analyze a concept, idea, or problem to implement in software. Then, step by step, you'll learn to design solutions based on your analyses and implement them as simply and elegantly as possible. Throughout, Shaw stresses process so you can get started and build momentum, creativity to solve new problems, and quality so you'll build code people can rely on.
This course will reward you for every minute you put into it. Soon, you'll go beyond merely writing code that runs: you'll craft high-quality Python code that solves real problems. You'll be a serious Python programmer.
Perfect for Everyone Who's Already Started Working with Python, including Junior Developers and Seasoned Python Programmers Upgrading to Python 3.6+
Register your product at informit.com/register for convenient access to downloads, updates, and/or corrections as they become available.
Auteur
Zed A. Shaw is the author of the popular online books Learn Python 3 the Hard Way, Learn Python the Hard Way, Learn Ruby the Hard Way, and Learn C the Hard Way. He is also the creator of several open source software projects and has been programming and writing for nearly 20 years. Most of his free time is devoted to the study of painting and art history.
Contenu
Preface xiv
Part I: Initial Knowledge 2
Exercise 0: The Setup 6
A Programmer's Editor 6
Python 3.6 6
A Working Terminal 6
A Working pip+virtualenv Configuration 7
Lab Journal 7
A Github.com Account 7
git 7
Optional: Screen-Recording Software 8
Further Study 8
Exercise 1: On Process 10
Exercise Challenge 11
Study Drills 12
Further Study 12
Exercise 2: On Creativity 14
Exercise Challenge 14
Study Drill 15
Exercise 3: On Quality 16
Exercise Challenge 18
Study Drill 18
Part II: Quick Hacks 20
Exercise 4: Dealing with Command Line Arguments 24
Exercise Challenge 24
Solution 25
Study Drills 25
Exercise 5: cat 26
Exercise Challenge 26
Solution 27
Study Drills 27
Further Study 27
Exercise 6: find 28
Exercise Challenge 29
Study Drills 30
Further Study 30
Exercise 7: grep 32
Exercise Challenge 32
Study Drills 33
Further Study 33
Exercise 8: cut 34
Exercise Challenge 35
Study Drill 35
Further Study 35
Exercise 9: sed 36
Exercise Challenge 36
Study Drills 37
Further Study 37
Exercise 10: sort 38
Exercise Challenge 38
Study Drills 39
Further Study 39
Exercise 11: uniq 40
Exercise Challenge 40
Study Drills 41
Further Study 41
Exercise 12: Review 42
Exercise Challenge 42
Study Drills 43
Further Study 43
Part III: Data Structures 46
Exercise 13: Single Linked Lists 50
Description 50
Controller 52
Test 53
Introductory Auditing 55
Exercise Challenge 56
Auditing 56
Study Drill 56
Exercise 14: Double Linked Lists 58
Introducing Invariant Conditions 59
Exercise Challenge 60
Study Drill 61
Exercise 15: Stacks and Queues 62
Exercise Challenge 62
Breaking It 64
Further Study 64
Exercise 16: Bubble, Quick, and Merge Sort 66
Exercise Challenge 66
Study Drills 71
Exercise 17: Dictionary 74
Exercise Challenge 74
Doing a "Code Master Copy" 74
Copy the Code 75
Annotate the Code 78
Summarize the Data Structure 78
Memorize the Summary 79
Implement from Memory 80
Repeat 80
Study Drills 81
Break It 81
Exercise 18: Measuring Performance 82
The Tools 82
Analyzing Performance 84
Exercise Challenge 86
Study Drills 86
Breaking It 86
Further Study 86
Exercise 19: Improving Performance 88
Exercise Challenge 89
Further Study 90
Exercise 20: Binary Search Trees 92
BSTree Requirements 92
Deleting 93
Exercise Challenge 94
Study Drills 94
Exercise 21: Binary Search 96
Exercise Challenge 96
Study Drills 96
Further Study 97
Exercise 22: Suffix Arrays 98
Exercise Challenge 99
Study Drills 99
Further Study 99
Exercise 23: Ternary Search Trees 100
Exercise Challenge 100
Study Drills 102
Exercise 24: Fast URL Search 104
Exercise Challenge 104
Study Drills 105
Further Study 105
Part IV: Intermediate Projects 106
Exercise 25: xargs 108
Exercise Challenge 108
Study Drills 108
Exercise 26: hexdump 110
Exercise Challenge 111
Study Drill 112
Further Study 112
Exercise 27: tr 114
Exercise Challenge 114
A Criticism of 45-Minute Blocks 115
Study Drills 115
Exercise 28: sh 116
Exercise Challenge 116
Study Drill 117
Further Study 117
Exercise 29: diff and patch 118
Exercise Challenge 118
Study Drill 119
Further Study 119
Part V: Parsing Text 120
Exercise 30: Finite State Machines 122
Exercise Challenge 123
Study Drills 125
Further Study 125
Exercise 31: Regular Expressions 126
Exercise Challenge 127
Study Drills 128
Further Study 128
Exercise 32: Scanners 130
Puny Python Scanner 131
Exercise Challenge 133
Study Drills 133
Further Study 133
Exercise 33: Parsers 136
Recursive Descent Parsing 137
BNF Grammars 138
Quick Demo Hack Parser 140
Exercise Challenge 142
Study Drill 142
Further Study 142
Exercise 34: Analyzers 144
Visitor Pattern 144
A Short Puny Python Analyzer 145
Parser versus Analyzer 148
Exercise Challenge 148
Study Drills 149
Further Study 149
Exercise 35: Interpreters 150
Interpreters versus Compilers 150
Python Is Both 151
How to Write an Interpreter 151
Exercise Challenge 152
Study Drills 152
Further Study 152
Exercise 36: Simple Calculator 154
Exercise Challenge 154
Study Drills 155
Further Study 155
Exercise 37: Little BASIC 156
Exercise Challenge 156
Study Drills 157
Part VI: SQL and Object Relational Mapping 158
Exercise 38: Introduction to SQL 160
What Is SQL? 160
The Setup 161
Learning SQL Vocabulary 162
SQL Grammar 163
Further Study 163
Exercise 39: Creating with SQL 164
Creating Tables 164
Creating a Multi-table Database 165
Inserting Data 165
Insert Referential Data 166
Exercise Challenge 166
Further Study 167
Exercise 40: Reading with SQL 168
Select across Many Tables 168
Exercise Challenge 169
Further Study 170
Exercise 41: Updating with SQL 172
Updating Complex Data 172
Replacing Data 173
Exercise Challenge 173
Further Study 174
Exercise 42: Deleting with SQL 176
Deleting Using Other Tables 176
Exercise Challenge 177
Further Study 178
Exercise 43: SQL Administration 180
Destroying and Alterin…