

Buy anything from 5,000+ international stores. One checkout price. No surprise fees. Join 2M+ shoppers on Desertcart.
Desertcart purchases this item on your behalf and handles shipping, customs, and support to New Zealand.
You Will Learn Python! Zed Shaw has perfected the world's best system for learning Python. Follow it and you will succeed-just like the hundreds of thousands of beginners Zed has taught to date! You bring the discipline, commitment, and persistence; the author supplies everything else. In Learn Python the Hard Way, Third Edition, you'll learn Python by working through 52 brilliantly crafted exercises. Read them. Type their code precisely. (No copying and pasting!) Fix your mistakes. Watch the programs run. As you do, you'll learn how software works; what good programs look like; how to read, write, and think about code; and how to find and fix your mistakes using tricks professional programmers use. Most importantly, you'll learn the following, which you need to start writing excellent Python software of your own: Installing a complete Python environment Organizing and writing code Basic mathematics Variables Strings and text Interacting with users Working with files Looping and logic Data structures using lists and dictionaries Program design Object-oriented programming Inheritance and composition Modules, classes, and objects Python packaging Debugging Automated testing Basic game development Basic web development It'll be hard at first. But soon, you'll just get it-and that will feel great! This tutorial will reward you for every minute you put into it. Soon, you'll know one of the world's most powerful, popular programming languages. You'll be a Python programmer. Watch Zed, too! The accompanying DVD contains 5+ hours of passionate, powerful teaching: a complete Python video course! Review: Finally, a book that matches my learning style. - Compared to most (if not all) programming books, the approach this book takes is unconventional and rewarding. The book starts off with the basics one would expect: strings, text, etc. The difference is, the author does not explain what any on the syntax really means. In fact he says more than once (to paraphrase): Don't worry if you don't understand any of this, just do the exercise (directly copy code from the book) and keep moving. After each exercise, there is a short study drill where you are typically told to make specific changes to the code. Shadows of explanations are sometimes contained in these drills. The end of each exercise is also followed by a QA of "Common Student Questions". Further, early on the author gives some interesting tips for examining the code you just wrote (and probably don't understand) that I had never thought of before and are quite enlightening. In exercise 5, the author explicitly states, "The problem with teaching you programming is that to understand many of my descriptions, you need to know how to do programming already. The way I solve this is I make you do something, and then I explain it later." I cannot agree with this method of teaching a programming language more. At least for my own learning style, it is ideal. As the book progresses, the logical order the exercises are layed out causing things to come together even before he get's into the detailed explanation. Once those detailed explanations are finally introduced, covered, and your are done with this book, you will be better off than with any other beginning book at which point you can comfortably move into more advanced material. A quick note on the authors writing style: he can be very sarcastic and sometimes sounds almost a bit pessimistic, but it is all with humorous undertones that make the book fun to read. I cannot recommend this book enough. After I submit this review, I am on my way to see if he has more books in "Hard Way" series. EDIT: Regarding complaints of the Kindle version. This happens to be the version of I am reviewing. I you want to use this side by side with an editor and a shell, you may have to shrink the font size as you web browser will (naturally) attempt to squeeze the text into whatever size you narrow your browsers width to. Personally, I am using a tiling window manager under Linux so I can shift things around as needed on a single monitor without decreasing the font size. Another solution is to use two monitors. I don't know what it looks like on my Kindle Paperwhite and don't have it with me at the moment. Review: Very good for beginners, more experienced programmer exercise discretion - If you are brand new to programming, this is a great place to start. The author makes it very clear that his intended audience includes those who have little to no programming experience. If you find yourself in that boat, this is a five-star book. If you are like me, and know a language or two already, you may be disappointed. You can still learn some useful things from this book, especially if python is a new language for you, but this book wasn't really written for you. Keep that fact in mind. Go through the first ~15 exercises quickly, then skip to about 40-45. I found the sections between these points to be the least relevant for someone with a fair amount of previous experience. I want to reiterate that I am giving this 5 stars because the author does a good job of accomplishing his stated purpose in writing the book. That does not mean this book is for everyone.





| Best Sellers Rank | #554,578 in Books ( See Top 100 in Books ) #435 in Python Programming #478 in Computer Programming Languages |
| Customer Reviews | 4.2 out of 5 stars 539 Reviews |
W**S
Finally, a book that matches my learning style.
Compared to most (if not all) programming books, the approach this book takes is unconventional and rewarding. The book starts off with the basics one would expect: strings, text, etc. The difference is, the author does not explain what any on the syntax really means. In fact he says more than once (to paraphrase): Don't worry if you don't understand any of this, just do the exercise (directly copy code from the book) and keep moving. After each exercise, there is a short study drill where you are typically told to make specific changes to the code. Shadows of explanations are sometimes contained in these drills. The end of each exercise is also followed by a QA of "Common Student Questions". Further, early on the author gives some interesting tips for examining the code you just wrote (and probably don't understand) that I had never thought of before and are quite enlightening. In exercise 5, the author explicitly states, "The problem with teaching you programming is that to understand many of my descriptions, you need to know how to do programming already. The way I solve this is I make you do something, and then I explain it later." I cannot agree with this method of teaching a programming language more. At least for my own learning style, it is ideal. As the book progresses, the logical order the exercises are layed out causing things to come together even before he get's into the detailed explanation. Once those detailed explanations are finally introduced, covered, and your are done with this book, you will be better off than with any other beginning book at which point you can comfortably move into more advanced material. A quick note on the authors writing style: he can be very sarcastic and sometimes sounds almost a bit pessimistic, but it is all with humorous undertones that make the book fun to read. I cannot recommend this book enough. After I submit this review, I am on my way to see if he has more books in "Hard Way" series. EDIT: Regarding complaints of the Kindle version. This happens to be the version of I am reviewing. I you want to use this side by side with an editor and a shell, you may have to shrink the font size as you web browser will (naturally) attempt to squeeze the text into whatever size you narrow your browsers width to. Personally, I am using a tiling window manager under Linux so I can shift things around as needed on a single monitor without decreasing the font size. Another solution is to use two monitors. I don't know what it looks like on my Kindle Paperwhite and don't have it with me at the moment.
K**N
Very good for beginners, more experienced programmer exercise discretion
If you are brand new to programming, this is a great place to start. The author makes it very clear that his intended audience includes those who have little to no programming experience. If you find yourself in that boat, this is a five-star book. If you are like me, and know a language or two already, you may be disappointed. You can still learn some useful things from this book, especially if python is a new language for you, but this book wasn't really written for you. Keep that fact in mind. Go through the first ~15 exercises quickly, then skip to about 40-45. I found the sections between these points to be the least relevant for someone with a fair amount of previous experience. I want to reiterate that I am giving this 5 stars because the author does a good job of accomplishing his stated purpose in writing the book. That does not mean this book is for everyone.
I**G
I love and hate this book
I have been teaching programming for more than a dozen years and I can't decide if I love or hate this book. The fundamental approach, "type this code and see what happens" is right on the money but all too often the code is followed by the advice to "look up the details on the web." The author does not direct the reader to specific sites (like this book's website -- which contains all the content). Rather, you are sent adrift and told to find your way. As everyone knows the quality of advice across the web is hit or miss and some programming symbols are hard to find. For example in the section called "symbol review" the author suggest looking up operators like ==, {, @, ] or escape sequences like \\ or \a or string formats like %%. I agree that the exercise of trying to find these things is useful but I paid for the book and I want to have the answer key. Similarly, in the section titled "learning to speak object oriented", he introduces randint() but does not say how it works. It is easy to do a web search for it but one of the top five results on Google is just wrong and others require you to know the difference between [0, 10] and (0, 10). The repeated calls to make flashcards makes sense but not if he fails to provide the information that belongs on the cards. While the lack of detailed tables for key features is horrid, the information provided is superb and there are very few typos. Sadly the typos are fixed on the book's website but there is no errata to allow you to correct the hard copy (which will make you nuts when you get to page 133 and there are [ ] where { } belong). I especially appreciated the introduction to Windows PowerShell (and Mac Terminal) which, unlike the rest of the book, does include the definitions for essentially everything covered. So, while the positives (well thought through progressively more difficult code examples) do outweigh the negatives (lack of a glossary and lack of tables with details) ... barely ... you will likely want to get another reference book to cover the holes in the instruction.
X**Y
Always wanted to learn Python, this did the trick!
I really like the way this book goes about teaching Python to people. It's one of the few books that walks you through the setup so that you're sure it'll work on your system, and the method of teaching by doing is extremely effective, quick, and actually pretty fun. I'm using this stuff at work often and saved myself weeks of horrible menial labor. Somehow my bosses have mistaken my laziness for motivation and now want me to automate all the things. Give it a shot. Also, this is online, google it. If it works for you, though, please come back and buy the guy's book to support a good thing.
G**Y
expect to google most of the material on your own to understand them
This book provides a good path for beginners to explore python programming. it goes from basic string formatting to oop and project testing and structure. The problem with this book is that the author leaves out too much stuff for the readers to find out themselves. Reading this book reminds me of college classes where professors lecture you the bare basics and expect you to do after class studying to fill up the holes. for example, in ex 46 and 47 the author introduces unit testing and the nose package. but he doesn't write a single sentence to explain what is unit test and/or how to use nose. instead he just says you should google it to find out. The reason I buy books like this is so i don't have to google everything. This kind of writing/teaching style defeats the purpose of reference books.
N**S
Teaches you Python in small easy-to-digest bits
As a programming language junky and former programming languages book author, I found this book to be very interesting and useful. The author teaches you programming in Python by using the divide and conquer approach. Each exercise cover a small part of the language, enabling you to easily digest learning Python. The videos on the companion DVD are very nice. I found the author's dislike of object-oriented programming terms a bit disappointing, but he is certainly entitled to his opinion. Nevertheless, I think this book is worth getting and I recommend it for readers who are beginner to medium level programmers. Advanced programmers will very quickly breeze through the book.
I**E
Great book for a beginner like me
What can I say? Zed Shaw is hilarious. The book does exactly what it promises you to do. You are absolutely thrown to the wolves, and just when you think you won't be able to figure it out, he lets you come up for air. You learn the logic through working with examples and typing the exercises exactly as he's written them, then tinkering with the pieces yourself. Great book for a beginner like me. Rather than trying to make long-winded explanations work for you, he lets you get your hands dirty and gives you an infinite number of "Aha" moments when you figure out just how something in the Python language works. The command line crash course is also a great introduction to working in a shell. Buy this book, make sure you follow directions, and welcome to the world of coding.
B**S
This book is bad, and you should not buy it.
I thought "The Hard Way" was meant to be ironic, but no, he really meant it. First of all, he urges you to use Python 2, even though Python 3 had been out for six years by the time this edition of his book was released. Why? Who know? He makes some noise about Python 3 not being installed on every machine, but that's bull. You can download it. So the upshot is that he's not even teaching you the correct syntax for the latest version of the language. Second, he doesn't teach programming at all. He teaches syntax. All he does is go through the language, covering what the terms mean, but not really what you can do with them. His sample programs are all ridiculously trivial. Finally, whenever he gets to anything remotely hard, he says, "Well, search for it on-line and figure out what it does." My favorite is Exercise 37. He has a big long list of terms, about half of which he's covered. He instructs you to figure out what the rest do, then "use each of these is a small Python program..." Thanks, Zed. If I wanted to teach myself the language, I could have saved myself the 20 bucks.
D**�
Excellent 👌🏾
The book is a great introductory text to python. Unlike the title, the book provides an easy approach to python learning. The author puts you in the driving seat, contrary to the popular approach of rote learning. You can only learn a new task if you’re motivated; hence the author places the onus on you. Hence he leaves quite a few things for the reader to do and find out, which I’m sure helps learning. I don’t have a background in computer science at my graduate level. Still I am able to follow the book very easily. That’s the beauty of Zed Shaw method 👌🏾 #Cons: None for the book However the seller is showing inflated MRP in order to make you believe you’re getting a good bargain. I was shown a high price and a discount when placing order; However I got the book at the MRP (photo enclosed). Amazon needs to discredit such sellers and practices on its portal
C**N
Se aprende de verdad
Bueno y muy didáctico. Se aprende de verdad. Quizá se ha quedado un poco antiguo en cuanto a la versión de Python utilizada.
M**A
I started this course through their website as it was ...
I started this course through their website as it was free but after getting through about half the course I decided the amount of material I've learned was well worth the price of the book so I purchased it. Well worth the price in my opinion but see for yourself and use the free version on their website first.
M**.
Gar nicht mal so "hard"
Für einen absoluten Programmieranfänger ein toller Wegbegleiter um diese schöne Sprache zu erlernen. Der Einstieg gelingt mühelos und wenn man parallel die unzähligen Hilfen und Tutorials zu Python im Netz bemüht macht es einfach nur Spaß die ersten Scripte schon nach ein paar Übungen im Buch selbst zu schreiben und sich auch mit eigenen Fragestellungen abseits der Lektüre zu beschäftigen. Mein Ziel, die Hausautomationssoftware Indigo 6 (sehr zu empfehlen) durch eigene Scripte noch mehr den eigenen Wünschen anzupassen ging voll auf. Außerdem macht es nebenbei sogar Spaß. Der erfrischende und verständliche Schreibstil des Autors trägt außerdem seinen Teil zum Lernerfolg bei. Langweilige und schwerfällige Bücher zum Thema gibt es schön zu genüge.
E**E
A must have for Python learning
A high-value book that immediately projects the neophyte into the python dimension, a milestone for all those who want to learn from the scratch.
Trustpilot
5 days ago
2 weeks ago