Known for his tech articles, Ruby applications, and educational projects. Zed A. Shaw has perfected the world’s best system for learning Python.
His most remarkable projects include a series of “Learn Code the Hard Way” courses, the Mongrel web server, and now in our review, the third edition of Learn Python the Hard Way .
Zed has built a name as an outspoken critic for some aspects of the programming culture and certain technologies. One of the most notable examples is a 2016 blog “The Case Against Python 3“, a clear proof of Zed’s disdain for Python 3. In the blog, or rather essay, Zed outlines how Python 3 has been designed with fatal flaws, alleging that these failures will kill Python for good.
As you’ll probably see, Zed’s criticism of Python 3 is reflected in Learn Python the Hard Way.
Who Is This Book For?
The book is a beginner’s guide to Python and attempts to develop a general programming mindset in readers.
Although the path to understanding any programming language is often clear. Such as learning the language’s use cases, pros, cons, how it performs and its syntax. Learning the problem-solving skill of programming is way trickier.
For years now, Learn Python the Hard Way has been one of Python’s beginners’ most known recommendations.
It takes about 8 weeks to read Learn Python the Hard way and understand Python basics. This will include syntax like if statements, variables, loops, functions and data types. However, how quickly you’ll learn Python from this book will depend on the programming basics you already know. And the amount of time you’ll devote to learning the language.
What Will You Learn?
Zed’s approach to the teaching process is rather not so common: throughout the book, the reader is expected to get most of the information independently. Zed directs you in the general direction (for instance, Read what setup.py has to offer), hoping that you will dig online and understand everything.
This provides a great introduction to the world of programming. Training you from an early stage that you have to dig for answers yourself. Since no single resource offers solutions to all your questions.
Insisting that programming isn’t all about writing code. The author includes an appendix chapter (Command Line Crash Course) that acts as an introduction to consoles and terminals.
Command Line knowledge is crucial for any Python developer. Managing virtual environments via pipenv, working with Git, using console utilities like iperf or htop to manage system performance and more!
Although this isn’t a full-blown course, it’ll help you understand how CLIs work and what makes them different from GUIs.
These lessons include:
- Navigating the file system (e.g., cd, pushd/popd)
- Working with paths, directories and folders via mkdir
- Working with files (e.g., cp, touch, mv)
Finally, the book provides some neat cheat sheets for PowerShell and Unix Bash.
What’s More? – Common Student Questions Sections
Considering that readers can encounter mistypes, bugs and make other mistakes, there is a section with common student questions in each chapter. This guides you on how to solve frequent problems that Python learners might come across – essentially, this is Stack Overflow embedded directly into the book.
How Many Chapters Are in The Book?
With 52 compiled chapters, Learn Python the Hard Way kicks off with an elaborate Python set up guide (for both MacOS and Windows-based machines). Helping students install the needed tools and see to it that they’re working well.
Below is the book’s chapter breakdown:
|1 to 14||Printing, strings and variables|
|15, 16 and 17||How to read, write and copy files|
|18 to 21||Introduction to functions|
|22||You are required to go through the previous chapters and take two days to test your knowledge on previously used symbols (e.g. ‘, %, \, =)|
|23, 24 and 25||A practice-heavy refresher of the chapters you’ve read before.|
|26||A test on your debugging skills based off a Python code with mistakes|
|27 to 31||Introduction to Boolean logic and if-statements|
|32 to 36||You’ll learn the different types of loops|
|37||A little neat cheat sheet for Python data types, keywords, operators and string escape sequences|
|38 and 39||Lists and dictionaries|
|40 to 49||You’ll learn Object-Oriented Programming|
|50 to 52||Introduction to Website Development|
Learn Python The Hard Way (3rd Edition) Testimonials
Where Can I Get the Book?
The paperback version’s margins and layout are good enough. With the typewriter monospaced, bold, and a little larger than the bolded text surrounding it.
The eBook appears to have a lesser compact layout than its counterpart. It’s also monospaced but not bold. Having a font size different from the surrounding text. This makes the typewriter text more visually apparent in the digital version.