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. Manage complex projects with a programmer's text editor Leverage the immense power of data structures Apply algorithms to process your data structures Master indispensable text parsing and processing techniques Use SQL to efficiently and logically model stored data Learn powerful command-line tools and skills Combine multiple practices in complete projects 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 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 (http://informit.com/register) informit.com/register for convenient access to downloads, updates, and/or corrections as they become available. Normal 0 false false false EN-US X-NONE X-NONE Cover......Page 1 Title Page......Page 4 Copyright Page......Page 5 Contents......Page 6 Preface......Page 15 Using the Included Videos......Page 16 PART I: Initial Knowledge......Page 19 What If I Find Out I’m Terrible?......Page 20 A Working Terminal......Page 23 git......Page 24 Further Study......Page 25 Exercise 1 On Process......Page 27 Exercise Challenge......Page 28 Further Study......Page 29 Exercise Challenge......Page 31 Study Drill......Page 32 Exercise 3 On Quality......Page 33 Study Drill......Page 35 PART II: Quick Hacks......Page 37 How to Practice Creativity......Page 38 A Process for Early Coders......Page 39 An Early Coder’s Coding Process......Page 40 Exercise Challenge......Page 41 Study Drills......Page 42 Exercise Challenge......Page 43 Further Study......Page 44 Exercise 6 find......Page 45 Exercise Challenge......Page 46 Further Study......Page 47 Exercise Challenge......Page 49 Further Study......Page 50 Exercise 8 cut......Page 51 Further Study......Page 52 Exercise Challenge......Page 53 Further Study......Page 54 Exercise Challenge......Page 55 Further Study......Page 56 Exercise Challenge......Page 57 Further Study......Page 58 Exercise Challenge......Page 59 Further Study......Page 60 PART III: Data Structures......Page 63 Learning Quality through Data Structures......Page 64 How to Study Data Structures......Page 65 Description......Page 67 Controller......Page 69 Test......Page 70 Introductory Auditing......Page 72 Study Drill......Page 73 Exercise 14 Double Linked Lists......Page 75 Introducing Invariant Conditions......Page 76 Exercise Challenge......Page 77 Study Drill......Page 78 Exercise Challenge......Page 79 Further Study......Page 81 Exercise Challenge......Page 83 Study Bubble Sort......Page 85 Merge Sort......Page 86 Merge Sort Cheat Mode......Page 87 Study Drills......Page 88 Doing a “Code Master Copy”......Page 91 Copy the Code......Page 92 Summarize the Data Structure......Page 95 Memorize the Summary......Page 96 Repeat......Page 97 Break It......Page 98 timeit......Page 99 cProfile and profile......Page 100 Analyzing Performance......Page 101 Further Study......Page 103 Exercise 19 Improving Performance......Page 105 Exercise Challenge......Page 106 Further Study......Page 107 BSTree Requirements......Page 109 Deleting......Page 110 Study Drills......Page 111 Study Drills......Page 113 Further Study......Page 114 Exercise 22 Suffix Arrays......Page 115 Further Study......Page 116 Exercise Challenge......Page 117 Study Drills......Page 119 Exercise Challenge......Page 121 Further Study......Page 122 PART IV: Intermediate Projects......Page 123 Tracking Your Defects......Page 124 Study Drills......Page 125 Exercise 26 hexdump......Page 127 Exercise Challenge......Page 128 Further Study......Page 129 Exercise Challenge......Page 131 Study Drills......Page 132 Exercise Challenge......Page 133 Further Study......Page 134 Exercise Challenge......Page 135 Further Study......Page 136 Introducing Code Coverage......Page 137 Exercise 30 Finite State Machines......Page 139 Exercise Challenge......Page 140 Further Study......Page 142 Exercise 31 Regular Expressions......Page 143 Exercise Challenge......Page 144 Further Study......Page 145 Exercise 32 Scanners......Page 147 Puny Python Scanner......Page 148 Further Study......Page 150 Exercise 33 Parsers......Page 153 Recursive Descent Parsing......Page 154 BNF Grammars......Page 155 Quick Demo Hack Parser......Page 157 Further Study......Page 159 Visitor Pattern......Page 161 A Short Puny Python Analyzer......Page 162 Exercise Challenge......Page 165 Further Study......Page 166 Interpreters versus Compilers......Page 167 How to Write an Interpreter......Page 168 Further Study......Page 169 Exercise Challenge......Page 171 Further Study......Page 172 Exercise Challenge......Page 173 Study Drills......Page 174 Understanding SQL Is Understanding Tables......Page 175 What You’ll Learn......Page 176 What Is SQL?......Page 177 The Setup......Page 178 Learning SQL Vocabulary......Page 179 Further Study......Page 180 Creating Tables......Page 181 Inserting Data......Page 182 Exercise Challenge......Page 183 Further Study......Page 184 Select across Many Tables......Page 185 Exercise Challenge......Page 186 Further Study......Page 187 Updating Complex Data......Page 189 Exercise Challenge......Page 190 Further Study......Page 191 Deleting Using Other Tables......Page 193 Exercise Challenge......Page 194 Further Study......Page 195 Destroying and Altering Tables......Page 197 Migrating and Evolving Data......Page 198 Further Study......Page 199 Learning an API......Page 201 Further Study......Page 202 Exercise Challenge......Page 203 Further Study......Page 204 PART VII: Final Projects......Page 205 What Is Your Process?......Page 206 Exercise Challenge......Page 207 Study Drills......Page 208 Exercise Challenge......Page 209 Study Drill......Page 210 Exercise Challenge......Page 211 Study Drills......Page 212 Exercise 49 sed......Page 213 Study Drill......Page 214 Exercise Challenge......Page 215 Study Drills......Page 216 Breaking It......Page 217 Study Drills......Page 218 Exercise Challenge......Page 219 Further Study......Page 220 A......Page 221 C......Page 222 D......Page 224 F......Page 225 I......Page 226 M......Page 227 P......Page 228 Q......Page 229 S......Page 230 T......Page 232 V......Page 233 Z......Page 234 **Transform Your Ideas into High-Quality Python Code!**__Learn Python 3 the Hard Way,____**Learn More Python 3 the Hard Way,**__Manage complex projects with a programmer's text editor Leverage the immense power of data structures Apply algorithms to process your data structures Master indispensable text parsing and processing techniques Use SQL to efficiently and logically model stored data Learn powerful command-line tools and skills Combine multiple practices in complete projects__It'll be hard at first. But soon, you'll just get it--and that will feel great!__**Perfect for Everyone Who's Already Started Working with Python, including Junior Developers and Seasoned Python Programmers Upgrading to Python 3.6+**Normal 0 false false false EN-US X-NONE X-NONE