Hi everyone

Learn Python the Hard Way

classic in the Python education space, Learn Python the Hard Way is an ebook by Zed Shaw, a software developer and creator of the Mongrel web server for Ruby.

Zed’s teachings follow a simple three-step formula:

  1. Go through each exercise.
  2. Type in each example exactly.
  3. Make it run.

Yes, it’s difficult.

Yes, it will be a bit frustrating.

And yes, you may find the lessons a bit dry at times.

But Zed’s approach works.

We often struggle when thrown into the deep end of the pool, but Learn Python the Hard Way will help you tread water, eventually teaching you how to swim on your own.

If you’re new to the programming world (<1 year of experience), then I would recommend this resource to you — but if you’re already a seasoned programmer, you’ll find more value out of the Real Python and Python Jumpstart courses, as they are more practical and demonstrate how to build actual applications rather than code snippet examples.

All that said, I do want to call out an important nuance regarding this book, one that is often missed by beginner programmers:

As you become more experienced with the Python programming language, you’ll likely find yourself putting down this book and moving to other resources.

How come?

The reason is that Learn Python the Hard Way uses Python 2.7 and has not been updated to cover the newer Python 3.

While this isn’t a deal breaker (remember, the most important step you can take when learning Python is to actually get started), it does become frustrating when you try to run your Python 2.7 code in a Python 3 interpreter and have no idea why your code is failing and throwing errors.

If you decide to go with this book, keep this nuance in mind, and you’ll be okay. I would also recommend investing in a good Python 3 resource, such as O’Reilly’s definitive Python “bible” (detailed later in this list).