Learn More Python 3 the Hard Way: The Next Step for New Python Programmers

Learn More Python 3 the Hard Way: The Next Step for New Python Programmers

by Zed A. Shaw

NOOK Book(eBook)

$20.49 $35.99 Save 43% Current price is $20.49, Original price is $35.99. You Save 43%.
View All Available Formats & Editions
Available on Compatible NOOK Devices and the free NOOK Apps.
Want a NOOK ? Explore Now

Overview

Learn More Python 3 the Hard Way: The Next Step for New Python Programmers by Zed A. Shaw

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 informit.com/register for convenient access to downloads, updates, and/or corrections as they become available.

Product Details

ISBN-13: 9780134123004
Publisher: Pearson Education
Publication date: 09/01/2017
Series: Zed Shaw's Hard Way Series
Sold by: Barnes & Noble
Format: NOOK Book
Pages: 240
Sales rank: 749,012
File size: 6 MB

About the Author

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.

Table of Contents

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 Altering Tables 180

Migrating and Evolving Data 181

Exercise Challenge 182

Further Study 182

 

Exercise 44: Using Python’s Database API 184

Learning an API 184

Exercise Challenge 185

Further Study 185

 

Exercise 45: Creating an ORM 186

Exercise Challenge 186

Further Study 187

 

Part VII: Final Projects 188

 

Exercise 46: blog 190

Exercise Challenge 190

Study Drills 191

 

Exercise 47: bc 192

Exercise Challenge 192

Study Drill 193

 

Exercise 48: ed 194

Exercise Challenge 194

Study Drills 195

 

Exercise 49: sed 196

Exercise Challenge 197

Study Drill 197

 

Exercise 50: vi 198

Exercise Challenge 198

Study Drills 199

 

Exercise 51: lessweb 200

Exercise Challenge 200

Breaking It 200

Study Drills 201

 

Exercise 52: moreweb 202

Exercise Challenge 202

Breaking It 203

Further Study 203

 

Index 204

Customer Reviews

Most Helpful Customer Reviews

See All Customer Reviews