Goodreads helps you keep track of books you want to read.
Start by marking “Learn Python The Hard Way” as Want to Read:
Learn Python The Hard Way
Enlarge cover
Rate this book
Clear rating
Open Preview

Learn Python The Hard Way

3.87  ·  Rating details ·  1,200 ratings  ·  124 reviews
This simple book is meant to give you a first start in programming.

The title says it is the hard way to learn to write
code but it’s actually not. It’s the “hard” way only in that it’s the way people used to teach things. In this book you
will do something incredibly simple that all programmers actually do to learn a language:

1. Go through each exercise.
2. Type in each s
210 pages
Published (first published 2010)
More Details... Edit Details

Friend Reviews

To see what your friends thought of this book, please sign up.

Reader Q&A

To ask other readers questions about Learn Python The Hard Way, please sign up.
Popular Answered Questions
Marielle This is the book I recommend for anyone who has never programmed before.

It's also good for people who have experience in other languages, but it's ta…more
This is the book I recommend for anyone who has never programmed before.

It's also good for people who have experience in other languages, but it's targeted at novice programmers. (less)

Community Reviews

Showing 1-30
Average rating 3.87  · 
Rating details
 ·  1,200 ratings  ·  124 reviews

More filters
Sort order
Start your review of Learn Python The Hard Way
Jul 30, 2011 rated it really liked it  ·  review of another edition
Shelves: programming, python
Considering I'm a software developer by profession and already know enough Python to be dangerous, I'm definitely not the target audience for this book. I still bought it for 2 reasons: (1) I like Zed's writing and also read his blog. (2) I also teach programming courses and thought this book might give me some good ideas on how to teach certain concepts to our students. I wasn't disappointed, this book is an excellent introduction to programming, the methodology is refreshingly different from a ...more
Mission Blue
I used this book to remember some of the basic things I had studied before. It was kinda okay up until the object oriented programming concept. the author basically throws in some code and expects you to understand it! if you can't, then it's your own problem. google it, freak!
The book should have been called "Learn to google the hard way with a twist"!
Mar 20, 2012 rated it really liked it  ·  review of another edition
Recommended to Kory by: Jay Zawrotny
Shelves: computer-science
It's a decent book to learn Python, but it's really lacking. It starts off strong learning the simple concepts, but when he gets to classes, everything falls apart and he really slacks off in explaining certain details. Plus he throws you off the deep end before giving any actual exercise using tuples, saying here's the test code go write the program that works with it. I would make sense if he actually had explained things and given examples. ...more
Tharindu Dissanayake
May 15, 2020 rated it really liked it
This is an excellent guide for a complete beginner, not just to Python, but to programming in general. Downside is, it is of very little help if you are already familiar with the language.

Also, the book is based on Python 2, so for someone just starting, there might be difference in opinions whether or not Python 2 is the way to go. But once passed that, the book is very helpful.
Chris C
May 24, 2019 rated it liked it
I think this quote sums it up:
the author basically throws in some code and expects you to understand it! if you can't, then it's your own problem. google it, freak!

I don't like Zed's approach to teaching. Other learning resources are much more pedagogical and make learning fun and rewarding instead of frustrating. If you're a total beginner I'd recommend starting here and getting some practice with the basics before moving on to books. It'll make things more fun to be hands-on initially.
Jun 03, 2016 rated it did not like it
Worst programming book ever.

The author is condescending, the examples are tedious and that attitude of "do things this way because is the good one and all the others suck" or "type this and shut up" is stupid.

There are a lot of good resources about Python out there. This book isn't one of them.
Caroline Berg
Not a fan of Zed's tone, particularly in the early chapters, which made me set this book aside to read a different book in order to learn Python for a bit (Python Crash Course: A Hands-On, Project-Based Introduction to Programming by Eric Matthes) - especially since I already know how to program in several other languages.

That said, I'm glad I came back to this book for the later chapters, particularly about organizing game code since I love to write Interactive Fiction (IF) games and that kind
Jun 27, 2014 rated it it was amazing
Python is a great language choice for someone beginning to learn computer programming. Learning Python means you can hack on your Raspberry Pi, contribute to OpenStack, or do just about anything else in between. Learn Python the Hard Way by Zed A. Shaw is an excellent learning resource for the beginning Python programmer. Don't be turned off by the "hard way" bit; the book's exercises are well thought out and pedagogically sound. In fact, doing things the "hard way" will actually make you a bett ...more
Soham Chakraborty
I am surprised this has such a low rating. I mean, yes, when I went to #python on and asked guys, I need a basic beginners python book, the immediate response was haven't you seen LPTHW.

Zed, you sir, are an awesome teacher. I mean, yes, awesome teacher. I love the line, "Remember, paying attention to details is necessary. make the code exactly as mine and run". Well, I did run it, sir.

One guy in my office, who is also in python-devel list and a seriously good python guy, also re
Aug 11, 2014 rated it liked it  ·  review of another edition
I find text based games really boring and I didn't like the style the book is written in, nor the whole idea of typing all the code first and then getting an explanation after that.

I'd suggest to take a free Coursera course "An Introduction to Interactive Programming in Python" instead. No need to install anything (everything runs in a browser), much better explanations of things, clear, fun and doable mini projects (a few card games, pong, asteroids with graphics and sounds!), community, etc.
Feb 10, 2015 rated it really liked it
Four stars because it's damn good instruction manual, but it's not like it's All the Kings Men or anything. ...more
Jun 07, 2019 rated it it was amazing
This is my go to book recommendation for anyone who wants to learn either programming period, or wants to learn Python coming from a basic level in other languages.

Some of the other complaints are that there isn't enough explanation in this book - this is exactly what I love about it! Explanations never worked for me when I started learning programming. Repetition builds intuitive understanding, that's what this book is all about.
Sergei Shneider
May 22, 2019 rated it it was ok
I have to agree with all other reviewers. Shaw isnt a great teacher. The book starts out with Shaw spending entirely too long explaining the most basic concepts and then once we get to the harder concepts he stops providing any kind of explanation and tells you to look it up on the internet. And he's right. Dont waste your time on this book when there are so many free resources available online. Oh and this book is 90% Shaw's poems and short stories incorporated in the code. For every line of co ...more
Se Jin
Jun 04, 2015 rated it really liked it
When first picking up this book, I was expecting to see an anatomy of the Python on the first few pages of the book. However, I ended up finding the ABCs of the programming language named “Python.” 

I am currently in High School level, who never had any prior education on coding or computer science. I was looking through the piles of books trying to find the easiest book I could start with because I was about to start a little programming organization named the Online Student Programmers’ Organ ...more
Manuel Pages
Apr 21, 2012 rated it it was ok
Shelves: technical-stuff
Read the whole book overnight.
Was hoping for some really hardcore chapters, but went through it like a knife through the butter.
On the other hand — I'm a professional programmer.

Nonetheless, I learned how to
>>> read and write python source code
>>> do simple test driven programming (though I seek for more details in «Test-Driven Development in Python by Jason Diamond»)

The downside of it was really misleading title. That was not the hard way, there were some extremely important details missing,
Neal Aggarwal
Nov 05, 2013 rated it it was amazing
An excellent intro to Python programming. I use this to teach my students intro programming to lead onto my other courses in hardware design. Those courses are built on top of Nisan and Shocken's program that requires minimal programming skills in order to make the leap into building a computer from scratch. One of the most important things LPTHW teaches is that just as you cannot learn to ride a bike by reading about it, you cannot learn to program without actually keying in the programs and se ...more
Simon Cowan
Nov 08, 2012 rated it it was amazing
Finished is a bit inaccurate here as I'll be returning to this book again and again. Not only is it a great learning tool it's also an excellent reference when I get stuck. Yes when, not if. Also, I didn't manage to get further than the beginning of classes and such but that has more to do with my ability with Python than the book so doesn't impact my rating. I have, though, got a lot further with this than any other resource I've tried so hats off to the author. A definite add to favourites. ...more
Sep 19, 2016 rated it really liked it  ·  review of another edition
Nice tutorial for getting started with Python, with many practical exercises and step-to-step instructions.

Plus, and that's useful, it's widely used so for any issue we can find a thread already opened and solved on stackoverflow.

The only let-down is that often it throws in a bunch of new terms or codes without explaining them: they'll be explained later, or it's up to you to stop and search elsewhere.

Anyway, useful for a beginner.
Chenglu Jin
Jun 01, 2013 rated it liked it
Yes, it is a good book for a program beginner. And the author is quite humors. But sometimes, he will leave you some questions without answers. You need to search it online. Although we can learn more from online materials, I still think it is waste of time sometimes. Maybe I just dislike this teaching style.
Aug 26, 2013 rated it really liked it
Not so much a book about Python as it is a book about learning to program. I often point new programmers to this book. It's not complete, but Zed wrote this knowing that the Internet is a thing and people that want to be programmers should utilize it (because StackOverflow will be your friend forever). This book gives you homework. ...more
Dec 05, 2017 rated it liked it  ·  review of another edition
Author had a condescending attitude. Outside of that turnoff, the sections on testing were unusable later in the book. Nose2 is not compatible with Nose. Nose (1) did not install on my rather vanilla Macbook Pro. I did figure out how to use Nose2 for some of the unit tests but it was a bit frustrating.
Douglas O'laughlin
Jan 23, 2019 rated it really liked it
Same thing everyone says, it’s good until OOP and it’s just trash from there. I switched to crash course for python after that. He even shits on inheritance pretty hardcore, and it seems dubious at best.

The first section is 10/10, and is really good at learning fast. It’s real effect there, so would be 3.5 stars but I guess I do grade inflation.
Danila Sentyabov
May 16, 2015 rated it really liked it  ·  review of another edition
Shelves: _it
I think this is the best way to learn programming without any prior knowledge of it. I wouldn't recommend it to experienced non-Python programmers learning Python, though. The book is really aimed at making the learner grasp programming for the first time. ...more
Sep 01, 2011 rated it it was amazing  ·  review of another edition
A really great book in order to get started with programming. You use editors, UNIX commands and learn how to type symbols by using them when you type code.
Jan 02, 2013 rated it really liked it
The videos/book combination are the best way to digest this book.
Jul 25, 2014 rated it it was amazing
Did not expect such a basic book to be so helpful.
Sep 08, 2011 rated it liked it
Hey, it's basically free, and it get's the job done even if it's not great. ...more
Mar 08, 2020 rated it really liked it
I think this book is a great introduction to programming in general. It showed me useful methods in how to go about learning a programming language as a beginner.

Now I do know the basics of Python and will go on learning more about it. I also learned many key-words in the "programming dictionary" that are necessary for reading up on any kind of documentation about any programming language.

That being said, the last few chapters are not the best. They suddenly introduce HTML5 and CSS3 and Flask a
Cici Yang
Feb 27, 2018 rated it liked it
I am just a beginner in python programming studying. This is the first book I started to read. From my reading experience, this book indeed owns some advantages over books of other types: This book shows us the code so it seems that it is not very difficult at the first glance.
However, when I read the last exercises , the difficulty level is raised rapidly and it is hard to understand,implement and finish all the study drills. Especially, when I do my final exam, I simply can not understand some
Henry Le
May 04, 2020 rated it liked it
My first book on the Learning Python topic.

I understand Zed tries to use a tone that intends to be informal for easier knowledge digestion of a seeming challenging methodology. It works.
For the first parts.

Then when it comes to the hard stuffs in the later chapters. I think Zed fails to convey a comprehensive understanding of the problem. Or maybe I am not that clever.

Later on I have found some clearer and easy-to-digest information on Youtube and Reddit to continue my study.

Anyway, I will give
« previous 1 3 4 next »
topics  posts  views  last activity   
Strings, strings, strings 1 3 Jul 07, 2019 01:20AM  
Win a free copy of Learn Python the Hard Way 1 9 Jun 27, 2014 10:53AM  

Readers also enjoyed

  • Automate the Boring Stuff with Python: Practical Programming for Total Beginners
  • Python for Data Analysis
  • HTML and CSS: Design and Build Websites
  • Python Crash Course: A Hands-On, Project-Based Introduction to Programming
  • Learning Python
  • Think Python
  • Eloquent JavaScript: A Modern Introduction to Programming
  • Grokking Algorithms An Illustrated Guide For Programmers and Other Curious People
  • The Backyard Astronomer's Guide
  • CompTIA CySA+ Cybersecurity Analyst Certification All-in-One Exam Guide (Exam CS0-001)
  • Essential Judaism: A Complete Guide to Beliefs, Customs and Rituals
  • Wanderlust: A Modern Yogi's Guide to Discovering Your Best Self
  • Search Inside Yourself: The Unexpected Path to Achieving Success, Happiness (And World Peace)
  • CISSP Practice Exams
  • CISSP All-in-One Exam Guide
  • The Raw Shark Texts
  • Milk Street: Tuesday Nights: More than 200 Simple Weeknight Suppers that Deliver Bold Flavor, Fast
  • National Geographic Complete National Parks of the United States: Featuring 400+ Parks, Monuments, Battlefields, Historic Sites, Scenic Trails, Recreation Areas, and Seashores
See similar books…

Goodreads is hiring!

If you like books and love to build cool products, we may be looking for you.
Learn more »

News & Interviews

Kazuo Ishiguro insists he’s an optimist about technology.  “I'm not one of these people who thinks it's going to come and destroy us,” he...
197 likes · 23 comments
“Just take it slow and do not hurt your brain.” 1 likes
More quotes…