
Learn Python 3 the Hard Way: A Very Simple Introduction to the Terrifyingly Beautiful World of Computers and Code (Zed Shaw’s Hard Way Series)
You Will Learn Python 3!
Zed Shaw has perfected the world’s best system for learning Python 3. Follow it and you will succeed—just like the millions of beginners Zed has taught to date! You bring the discipline, commitment, and persistence; the author supplies everything else.
In Learn Python 3 the Hard Way, 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 a computer works; what good programs look like; and how to read, write, and think about code. Zed then teaches you even more in 5+ hours of video where he shows you how to break, fix, and debug your code—live, as he’s doing the exercises.
- Install a complete Python environment
- Organize and write code
- Fix and break code
- Basic mathematics
- Variables
- Strings and text
- Interact with users
- Work 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
- 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 course 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.
This Book Is Perfect For
- Total beginners with zero programming experience
- Junior developers who know one or two languages
- Returning professionals who haven’t written code in years
- Seasoned professionals looking for a fast, simple, crash course in Python 3
Book Review by Adina B.
At the beginning of the book I was amazed at how much fun I has having and much …
Before buying this book I heard about LPTHW and the “controversy” around…
but obviously this is the internet and everyone is entitled say whatever they want so I didnt took them seriously.
Before reading this book I’ve read some C++ concepts in the past (couples of years before) but they were simple as: types, functions, statements.. so nothing complicated but I went thru this book with a tiny bit of knowledge..
At the beginning of the book I was amazed at how much fun I has having and much better I was starting to understand those concepts (that I was already familiar with).
The way the book is structured its extremely good, making your hands dirty immediately its really the right thing to do for a beginner.
It may be obvious for some one but wasn’t for me, the fact that you should type everything you see and make it work on your own, and then read and check what is happening. then type again and again and eventually even if you dont REALLY understand the DEEPER MEANING of everything, you are still a step further to getting closer.
So everything was going fine and I was eager to go to the next lesson…
Till chapter 43 when he introduces the Class/Object..
I honestly went back on it a couple of times but every time I felt that there was something different… somethings has changed from before… there was no more fun no more understanding.. but just DO IT AS I DO AND SHUT UP…
There was little room of exploration as he presented a semi-empty script with empty classes and you should have to fill everything as he would… oh and yea he just introduced you to what a class is like.. so good luck with that.
You pass from ITS A, HAS A type of explanation to complete an already started script of several different classes with subclasses and inherits.. wtf? I’ve felt like I jumped 2 chapters…
It was challenging? absolutely but it wasnt fun… it wasnt discovering new things .. it was desperation of trying to solve this exercises because you know that classes are an important topic…
And from there on it has become worsts and worst.
At chapter 47 you are introduced to an another fundamental topic: TESTS.. so as usual you start typing and typing and installing nosetests and get excited of this new stuff he will explain as soon as you finish.. but you will be WRONG.. as soon as you finish he says..
GO ON INTERNET AND FIND OUT HOW TO USE AND INSTALL EVERYTHING YOU JUST DID…..
W.T.F… it took me a day to find out in the nose manual that their syntax was the same as unittest but just spelled with the pep8 format snake_case…
As a beginner and as I have never seen what an test/assert_equal is I WOULD HAVE APPRECIATED A BIT OF EXPLAINATION before sending me online..
I had to go online searching OTHER people tutorial about something that I was suppose to learn in your book? WTF AGAIN…
And from here honestly I just lost interest.. he dosent show anymore the “what you should” see section so you are left on your own… if you dont understand well too bad… if you understand but understand wrong also too bad… for me was harder trying to understand what HE will have me to do rather than the code itself…
at the end of the book you will do automatic tests of his text game and deploy it online so he introduces some HTML concepts but honestly I just didnt care anymore.. and here brings me the major flaw about zed in my opinion.
He states at the beginning that he doesnt want you to teach everything but he wants you to be autonomous and be able to understand what to search bla bla… ok its a good mentality but there is a problem.. programming concepts are so deep and so many even of the same subject.. that you NEED to SAY at least something and then I LEAVE THE REST TO YOU if you want more info.. again if I have to leave the beginner book to search other people tutorials for beginners to understand what has written in the book I think that the book failed to do its job…
and as I stated before I had some knowledge of what was going on so it may have been like this from the very beginning of the book I dont know..
I then IMMEDIATELY went to PYTHON CRASH COURSE and things just pop out like flowers in spring… but it was because of how zed open my view of how to take a programming book..
So I recommend this book despite the BIG disappointment of the last chapters because I truly think that this book teaches you the discipline that you will absolutely need to start every other book.. but be aware you will not become a expert programmer after just this book… buy this together with PYTHON CRASH COURSE and think of them as one lesson.. typing (LPTHW) and understanding (PCC)
We also Recommend
- Cybersecurity for Beginners PDF
- Thinking in Java by Bruce Eckel PDF
- Think Java by Allen Downey PDF
- You Don’t Know JS Yet by Kyle Simpson
- Accelerate by Nicole Forsgren Pdf
About the Author
Zed A. Shaw is the author of the popular online books 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.