Jump to ratings and reviews
Rate this book

Learn Python 3 the Hard Way: A Very Simple Introduction to the Terrifyingly Beautiful World of Computers and Code

Rate this book
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

319 pages, Kindle Edition

Published June 26, 2017

621 people are currently reading
884 people want to read

About the author

Shaw Zed A.

1 book2 followers

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
190 (32%)
4 stars
220 (37%)
3 stars
132 (22%)
2 stars
34 (5%)
1 star
11 (1%)
Displaying 1 - 30 of 70 reviews
Profile Image for Xavier.
19 reviews
September 28, 2017
3 stars for average. I would recommend Python Crash Course by Eric Matthes over this. The biggest problems are, one, how he explains and treats OOP and Classes from ex40 onwards, and two, how he teaches packages and testing with virtual environments (which is from ex46 to ~end of book). I was ready to give this book 5 stars before encountering these major shortcomings. Additionally, his emphasis on text-based games for learning the content are extremely dull, and omits using and teaching standard python terminology in a misplaced effort to remove "jargon".

The book is ok if you already know another programming language, but if you have absolutely no programming experience beforehand, I would strongly recommend Eric's Python book.
Profile Image for Alexander Smith.
253 reviews79 followers
December 13, 2017
This book is very good! If you want to teach yourself Python from a very basic level, this book is the way to start. There are others out there, but they probably won't be as simple and pedagogically thorough. This book is NOT a "theory, theory, theory, then practice" book. This is a "Just do this; okay, now in detail, what did you do? If that was fun, do these other things..." book. It works very well! If you ever have a month where you have a couple hours everyday, you will be done with this in no time, and feel much better for it.
Profile Image for Kai.
245 reviews23 followers
August 4, 2021
Shaw describes the goal of his book thus: "When you're done, you'll be a reasonably competent Python beginner. You'll still need to go through a few more books and write a couple more projects, but you’ll have the skills to complete them. The only thing in your way will be time, motivation, and resources."

A Beginner's Guide to Python Programming
Learn Python the Hard Way is a great textbook for absolute beginners. Ironically, until far into the book the exercises are quite easy when compared to similar books. In his Learn C the Hard Way, what made learning so hard was the aspiration to write software that satisfies strict standards of security, and that certainly is no easy task. There is nothing comparable in this book.

Finishing the book actually is not as big a deal as for many other textbooks in software development. Personally, it took me about three or four weeks. Granted, I already knew most concepts, but I think even complete beginners can work their way through in a couple of weeks tops.

What I liked was that it doesn't bore the reader with tedious information you will pick up along the way anyway. For instance, stuff like "what variable names are permissible" is reduced to the bare minimum, rather than having lengthy exercises on that issue (like you actually find in other introductions).

But still the Hard Way?
I think Shaw considers his approach to learning to be "The Hard Way", because he simulates the programmer's everyday life - an experience that can be quite frustrating.

For one thing, he over and over emphasizes the importance of typing in code by hand (rather than copying it). This obviously can get tedious, especially with the significantly longer examples towards the end of the book. I've found it surprising how much you learn from this, if you can keep to the point while doing so. It may also be a good occasion to gain familiarity with Vim or another tool of choice.

Often he lets you type in certain constructions without telling you what they do (like for if instructions or the loops). Once you see the output, their functionality becomes obvious. A full-fetched explanation may have been daunting or even intimidating, now it's easy and no big deal. And there really aren't too many constructions you have to learn. So, the hard way may turn out to be the easier way.

As exercises, you are made to look up many concepts yourself. For instance, you are asked to look for methods you can invoke on lists. At a later chapter, there is an exercise in which you have to read up on what object-oriented programming is, including the ideas of objects and classes. In this case, I liked the approach. When you are given an idea of what there is, you can find much information on the concepts. While reading online documentations can be frustrating for beginners, you should give it a good go. It will give you a sense of achievement when you found something yourself and afterwards you know much more than you did before.

At one point, it gets really quite silly, though. Chapter 37 gives a list of all Python keywords and asks of the reader to go on only when she/he knows what it does. It doesn't explain the keywords at all; it only mentions them, so that you can look them up online. I suppose the idea is to convey a real feeling of being a programmer, where you constantly come upon things you don't understand and you then have to look for them with the help of a search engine. Still, the idea of reading a textbook is to be ahead of that, at least in regard to the basic stuff.

Towards the end, probably around chapter 40 (of 52), the exercises get significantly tougher. At first, writing tests is quite simple (to get an idea of what it means to write such tests), but getting the website to run as it it's supposed to do (not to mention the final exam), that's quite challenging! I think the idea that it doesn't take you by the hand to go through is one reason why you really feel the hard way here.

Unfortunately, I feel like you still won't get much practice from finishing this book. Every chapter is called an "Exercise" and you do type in code, but the Study Drills are usually quite short and simple. I've found more complex and independent exercises in other books more helpful. So, you should begin to write little projects to check whether you are really able to apply the concepts introduced in each exercise.

Pep Talk from an otherwise demanding Tutor
The book is written in a style that mirrors natural conversation. The tone is friendly but demanding. Expect drill ("Shut up and type all this in") as well as rebuke ("I've already told you, keep up!"). But there is also advice to take a closer look ("There’s actually quite a lot of information in this little function, so it would be good for you to study it") or even to take it slow sometimes ("Take a break right now and try playing with these two concepts before continuing").

Shawn also eliminates false assumptions the reader may have, as when pointing out that programmers are no math geniuses (even if some pretend they were), that programmers make a lot of mistakes and that even experienced programmers get intimidated by beginning complex projects. I find it refreshing to be reminded of these things from time to time.

Learn to Speak like a Programmer
What I loved about the book was how it teaches you to speak properly. This may sound silly, as programming languages obviously are not spoken, at least not like natural languages. However, You do talk about code.

Did you ever feel that math is full of odd phrasing, like "Let f be the function...", "f takes the value y for argument x" or "universe of discourse" (to only mention two of many examples)? I think programming is similar in this respect. The language used in tutorials or personal conversation in this area can be quite esoteric and daunting to the newbie. To a certain degree Shaw tries to prepare you for that.

For instance, in one exercise he makes you create a list of all commonly encountered symbols, name them, and memorize them. It's a boring task, but learning vocabulary like this obviously will be necessary to verbally talk about your code. He also introduces more technical computer-science notions, occasionally sugar-coated in a mockery of jargon. As when he writes: "That concept is called 'instantiate,' which is just a fancy, obnoxious, overly smart way to say 'create.'"

Moreover, it's necessary to pick up a certain stock of concepts used to describe and analyze programming languages. This is also very similar to math, where formal expressions represent a world of mathematical objects. I loved the no bullsh*t approach that the book takes here.

For instance, in Chapter 41 you get a simple, no-jargon definition of all the ideas you need to read and write code in accordance with the object-oriented paradigm. Like "is-a—A phrase to say that something inherits from another, as in a “salmon” is-a “fish.” or "class—Tell Python to make a new kind of thing", to mention only two examples. There are also attempts to translate code into English: "You have to be able to say the sentence exactly the same every time whenever you see that form. Not sort of the same, but exactly the same."

Object-Oriented Programming
Talking of object-oriented programming, the paradigm takes a rather central place in the book (as is common for Python), though Shaw's stance seems to be rather critical.

To be honest, I didn't really like how the book approaches the issue. Shaw introduces objects, classes, and instantiation by comparison to dictionaries and modules. In all those cases you have some thing out of which you get another thing. However, the things you get out are different; the way you get things out are different; and the things from which you get things out are not very similar, either. You get a thing (data of any type) out of a dictionary by specifying a key; you get a thing (function or variable) out of a module by dot notation; and you get things out of classes by instantiating them and then refer to the properties and methods of objects by dot notation.

Maybe it's because of my background in philosophy, but I feel like introducing the concepts just in the way they were intended is much less confusing. There are things (circles, human beings, cars, whatever); things can be of different types, and the types (or classes) are defined by specifying characteristic properties and activities (or methods). When you create an object, you mentions its type. That's it. I think that is more straight-forward then thinking about the similarities and differences to the other concepts, familiar as they may be at that point.

To be honest, I don't really see where Shaw's hostility towards OOP comes from. You find passages like: "Search online for 'object-oriented programming' and try to overflow your brain with what you read. Don’t worry if it makes absolutely no sense to you. Half of that stuff makes no sense to me either." He may be right, so I'm genuinely interested in his arguments.

In any way, generally it's a very good introduction to Python that takes an approach quite different from what you would find in other textbooks. For the most part, the approach worked for me.

Rating: 4/5
Profile Image for Lawrence Roth.
204 reviews11 followers
March 8, 2020
This book is great up until the later exercises when the learning curve gets extremely difficult, and even with drilling I feel like I wasn't prepared to continue on. Nevertheless, this book did exactly what I wanted it to do: provide a good solid introduction to Python and programming in general. Plus it has a handy command line crash course at the end. I look forward to exploring other programming books that go more in depth with the language, with perhaps a better learning curve, such as Python Crash Course by Eric Matthes and Automate the Boring Stuff by Al Sweigart. Shoutout to Zed Shaw for giving me a better programming introduction in one book than 1.5 years of university classes.

Zed also makes you use the Atom IDE, which quite frankly is the quickest, cleanest, beginner-friendly IDE I've ever used besides maybe Notepad++ which is hilarious. Highly recommend Atom! atom.io for download!
Profile Image for Jinx.
109 reviews3 followers
October 9, 2019
Wow, I learned some more about what this guy is actually like and now there's no way I'm ever again touching anything he wrote with a ten-foot pole. (His writing style is extremely condescending anyway.)
Profile Image for Sabin.
154 reviews1 follower
January 12, 2021
A funny and informative introduction for complete beginners in Python, or even complete beginners in programming. The exercises can get tedious at times; I knew most of the stuff explained in here, it consists mostly of good practices and programming concepts, and they're exemplified using Python. The issue I had with the book was that at times things are not thoroughly explained, probably because the target audience consists of beginners and the author wanted to keep it as simple as possible. Still, I learned a few (basic) things about OOP reading this, it was fun. I'm looking forward to the next book in the series. Recommended for complete beginners, but be prepared to learn some extra stuff, like CLI. Oh, and I loved that Zed hates IDEs, like most good programmers do.
Profile Image for Eero Ringmäe.
45 reviews3 followers
November 23, 2022
I am trying to do a refresher course about basics of Python after I realised that I am being held back trying to analyze data and automate manual tasks in Python. My goal was to get a better understanding of the basic syntax and mechanics of the language.

The good part:
This book actually does cover the very basics of Python - variables, functions, modules, importing, OOP, creating a project structure, creating a unit test, creating a simple web app.

The approach is very practical - it's approach is "type in this code first and then try to understand it". The chapters are short and you get to practice most things in multiple chapters.

It covers more than just Python's syntax - it covers choosing the code editor, project structure, testing, etc. That's better than a book which teaches you one high level IDE and masks a whole lot of that compexity.

The not so good parts:
I was constantly irked by the author's tone. It feels condescending. Also - he interjects what seem to be his personal opinions as if these were teachable truths (don't use IDLE, Object Oriented Programming is not great). I will find a friendlier and more empathetic author for my next course.

In at least two different parts of the book, the text read "Now go and spend a week/month doing X before you come back". This doesn't make sense in a "basics of Python book". If I wanted to spend a week or a month on a Python project, surely I would pick a project that need or I like myself and use this to guide me which tutorial book to use.

The book's exercises focused on developing a text-based game where you can move between rooms. I found this topic boring. Python for me is more of a tool to manipulate data or to create scripts that automate an tedious manual task.

Overall - I mostly achieved my goal of understanding the basic syntax and project setup of Python better.

I would have loved the following additional topics:
1. Querying something from an external API
2. Using version control (a la GitHub)
3. Doing a simple manipulation of data (a la SUM and printing a graph)
Profile Image for Gavin.
Author 2 books561 followers
July 8, 2018
Much, much more my style - opinionated, joined-up, irreverent - though not my speed ("this book gives you the mental tools and attitude you need to go through most Python books and actually learn something"). Shaw is a beautiful mind in a slightly unhinged shell:
Which programming language you learn and use doesn't matter. Do not get sucked into the religion surrounding programming languages as that will only blind you to their true purpose of being your tool for doing interesting things.

Programming as an intellectual activity is the only art form that allows you to create interactive art. You can create projects that other people can play with, and you can talk to them indirectly. No other art form is quite this interactive. Movies flow to the audience in one direction. Paintings do not move. Code goes both ways.

Programming as a profession is only moderately interesting. It can be a good job, but you could make about the same money and be happier running a fast food joint. You're much better off using code as your secret weapon in another profession. People who can code in the world of technology companies are a dime a dozen and get no respect. People who can code in biology, medicine, government, sociology, physics, history, and mathematics are respected and can do amazing things to advance those disciplines.

A good way to spend an hour after a year away.

[Free!]
Profile Image for Hailong Hao.
292 reviews88 followers
January 15, 2022
纯粹为了乐趣看了这本编程书。作为编程入门教程,本书写成了应该有的样子:在基础阶段,练习其实比学习新知识更重要。本书的优点(一些有经验的程序员或许会觉得这是缺点)正是练习量很足,甚至每章标题没有用 Chapter 而是直接写成了 Exercise。

在我看来,唯一的缺点(其实很多教程都有这个缺点,本书不算严重)是最后有点太赶了,扶上马需要送一程,但送得还不够。

小提示:如果是用 Python 3 的最新版本(3.10),nose 大概率不能用,nose2 可以用,但一则是一些表达发生了变化,二则是 nose2 功能本身不是很全(或可认为是 unittest 的补充)。不得已,我用 pytest 把其中的自动测试部分重写了一遍(事实上比用 nose 更简单)。
Profile Image for Martha Palm.
14 reviews3 followers
April 13, 2023
The book per se is interesting and informative but outdated. The author could offer an updated version on his website as I really struggled with some exercises using Jupyter Notebook
Profile Image for علي الصباح.
Author 2 books32 followers
August 12, 2020
Highly practical, there is more coding than reading. And good job at explaining a lot of programming concepts in a simple way.
Profile Image for Geoffrey.
7 reviews
January 27, 2021
It did for me what I wanted. I learned the language sufficiently to get me started. Suffering through Shaw's humor and attitude was a bonus.

I have previous experience with 5 other programming languages and OOP design but zero Python experience. I wanted a series of exercises to walk me through syntax and usage. I was able to complete them in a couple of weeks worth of free time, skipping some of the sections that focus on design, and feel confident that I can move on to utilizing Python in my own projects. I could have easily finished this course in a long day of work if that's what I was looking to do.

Shaw gives repeated warning against using an IDE and instructs the user to do all the exercises with a simple text editor and using a shell terminal. I had no problem completing and running all exercises in my preferred IDE, however I have previous experience and think it is good advice for beginners to learn to write and handle code without extra complexities.
Profile Image for Avinash K.
182 reviews31 followers
December 28, 2020
Many years ago had read his "Learn Python the Hard way" and really enjoyed it, so when I stumbled on this decided to give it a go.
It's really nice and fun. Highly recommended for beginners and for all levels who don't really follow coding hygiene. :) Somehow comforting with the bratty tone but makes you do the grind.
Ah! Exercising during CoVid times... :D :D :D
7 reviews
January 19, 2022
This book is a gem if you are starting your coding journey. It starts with basic syntax and loops and the if-else thing that is common in every other coding language but it goes in-depth with the explanation.

It has some examples too to solve which will give you a little bit of clarity and I would say go for this book!
Profile Image for Atanas Nikolov.
237 reviews15 followers
July 31, 2023
Okay, this book is... something. I rarely give 1 stars, because to me, if you get something out of a book, it still deserves at least a couple of stars. However, I would be doing people a disservice, if I encourage them to even briefly consider picking up this book to learn Python. Go with something else. Not convinced? Read on.

Let's do a quick assessment:

1. The author assumes you are an idiot, probably with good intentions, but it gets jarring by the 3rd exercise. Want to learn MORE and not hear it in a condescending tone? Watch David Mallan and CS50 with Python.

2. Is the content in the book actually good? Depends on your idea of good. Half the book is explaining concepts that you don't need at the beginning. The most important things are left for the second half of the book, and if you don't get those, you absolutely don't need most of the first half. Many important things are left out or only skimmed, while much of the advice later in the book is dubious.

Example:
"Do not use a debugger, debuggers do not give you useful information, they will just confuse you, use print statements instead." - Yeah, sure. Again, this is either condescending, because he thinks the reader is an idiot, or it is simply wrong.

"Every if must have an else." - Definitely not. Don't write code like that, please. If you don't need an else, don't write it. Design better programs instead. This whole rule just enforces the wrong behavior of nesting happy paths 8 layers deep.

3. The author is generally a bit weird. I feel like he was half-depressed when writing the book, and by the end of it, you read this:

"It can be a good job, but you could make about the same money and be happier running a fast food joint."

You okay there, buddy? He goes on complaining programmers in tech companies get no respect either. Sure...

4. The book is intended to get progressively harder, but I can see why it would be a nightmare for anyone new to programming, while a complete bore to anyone who knows at least one language. Why? Well, in one chapter you are still learning the basics, then you jump into a game with unit testing (not explained well at all), and before you realize what's going on, you are thrown into the deep end with website creation through a framework. Plus it teaches you some HTML, which... why do that in a Python intro book? He's omitted a ton, but has decided to include unnecessary things nonetheless.

5. The author makes the reader follow some questionable steps without explaining them. He mentions virtual environments, which are crucial for Python, but doesn't actually explain why he decided to tackle them the way he did. Same with unit testing. Just install "nose". Why though? Why not the better known and widely used Pytest? I don't actually care what he picks, but he needs to provide some reasoning and definitely some guidance as to how a beginner can make their choice. Otherwise... He's just teaching others bad habits of depending on things they don't understand and copying code, without having any idea what they are actually doing. At that point you aren't learning programming, you are neck-deep in tutorial hell.

Oh, and I love all the sections with "download this, because it will make your life easier" or "Research that more". He literally says to ask a friend who knows more about programming to teach you stuff that he should've presented, but decided to outsource to your friends instead.

All in all, the book needs better editing, better explanations and more pages. Which is weird, because it has TOO MANY pages right now. Why? Because for some reason the author has decided that he needs to duplicate his code examples as both text and images. Go figure.

###

Ultimately, the book is neither deep enough to matter, nor simple enough to be a beginner intro.
Profile Image for Gaudencio Guedes.
39 reviews
October 14, 2020
OK book. I wouldn’t recommend it as a first reading. In my opinion, there are better books out there that do a better job to introduce you to Python. Python for everybody as an example.

As for the book, it’s basically split in two speeds: very slow and very fast. You very slowly and briefly go over the main topics in Python and then, on the last third of the book, you better fasten your seatbelt. At the end of the book there are concepts and new material that will just land on you. The answer found by the author to help you digest all this information (and most of the material in the book), is to tell you to look it online, which brings me to the least favourite in this book.

I wasn’t really keen on how the book was written, but this is simply a matter of personal taste. Being told, almost in every page, to look online for something on the chapter that I might not understand, makes me wonder why was I reading the book in the first place. I totally understand the author’s idea, but I think it was overdosed. Plus, I’d leave all the coaching and less positive opinions to a different type of book. The text is full of these depreciating opinions from the author that, in my opinion do not add any value to the learning experience.

In summary, I’ve learned a few new things and I’m glad this wasn’t my first book on the subject, otherwise I’d have removed a star from the rating.
24 reviews
October 5, 2022
Love this book! I knew nothing about programming before I decided to purchase this book and dive right in. I don't know how others might feel about this, but I loved the way he addresses you as the neophyte programmer. No BS, just python. No filler; let's get to work!

I read some of the reviews and people seem to dislike that he glosses over certain subjects like object oriented programming, but looking back I appreciated it because certain topics would have been overwhelming. Especially if you are totally new to programming. I remember him saying that he wasn't going to bother with certain things because you would figure them out organically as you work on your own projects. As soon as I had a basic grasp of everything I took his advice to heart and developed my own scripts and apps for work.

My projects didn't have much in common with the exercises, but the foundation for python programming derived from this book, helped me as I went along and learned by doing. OOP made far more sense AFTER I had worked on a project that forced me to use and implement classes instead of functions.

I recommended this to a friend that wanted to learn Python, and would recommend again. 5 out of 5 for me.
Profile Image for Douglas Summers-Stay.
Author 1 book47 followers
March 7, 2020
I've picked up Python from here and there, but it has become my programming language of choice as it is easier to work with than C++ and also has a lot of libraries. (Although I still like Matlab for a lot of things).
Anyway, I have some big gaps in my knowledge so I thought I would try to fill them in, and this happened to be the book I came across. It did a good job of explaining how class inheritance works, and had some useful information about how to create web pages programatically. It's eclectic though: the author puts a lot of attitude into what he thinks is important and what he thinks is stupid, so it's kind of like having your big brother explain how to program to you-- you're getting one particular point of view.
And there are several things I wanted to know about that he didn't touch on at all, like why = sometimes behaves one way and sometimes another, or when to use _ or * in front or after a variable name. I already knew almost everything in the first half of the book, so there was a lot of skimming.
1 review
June 27, 2021
After completing all the lessons in this book you'll definitely have strong basis on Python. You'll also explore a lot of features of Python and you'll see the large capabilities that Python offers. However, you'll need to be patient. This book is not straightforward. The exercices are really repetitive and I don't blame the author for this because he already warned us about the nature of this book by the title! Repetition is good to memorize the different instructions. However, I do believe that certain parts could have been made more concise. The author's learning method is also a bit too steering and I wish he encouraged more his readers to use their freedom and imagination to create code.
Use this book smartly, don't feel forced to do exactly what the authors asks or recommends. Identify your weaknesses on Python and use this book to work on this weaknesses.
Most importantly, use your gained knowledge to create your own code and have fun! This is the best way, in my opinion, to improve your coding skills.
Profile Image for Daniel.
43 reviews1 follower
June 30, 2020
This started out promising as a source of learning that puts more emphasis on you going out and getting your hands dirty by basically teaching yourself. However, as the book moves on, the balance definitely shifts away from being useful as the lessons basically turn into "Go teach yourself x,y,z, then we'll revisit it and I'll give you a brief summary". This is what the book has promised in the forward/intro but it falls flat when difficult concepts need to be followed by closer instruction. Again, it's one good lesson to teach the mindset of a programmer (plan, look at documentation, implement, debug, rinse & repeat), but then at some point you should then actually teach programming and not just a light glossing over. If anything, the effort should be doubled in being as explicit as possible even if you wanted to separate lesson to a bit later.

Basically, there is a balance but this book does not find it.
Profile Image for Tung Nguyen.
4 reviews
April 30, 2021
A great book for serious learners. As an introduction by the publisher: “You bring the discipline, commitment, and persistence; the author supplies everything else.”

It provides you with a framework to help you build programming thinking, problem-solving skills, memorization, and debugging skills. It also introduces essential programming tools like command line interface, virtual Python environment, test-driven development (TDD) techniques.

It is great for those who are new to programming. For experienced programmers starting to learn Python, this book can also help you quickly master the basics of Python.
Profile Image for Ivan.
20 reviews5 followers
March 20, 2020
Ничего не понял, но было интересно.

А если серьезно, то хотел бы начать читать эту книгу классе в десятом, когда времени было много а половина книги не являлась чем-то десять раз прочитанным. Для первого курса универа или тех, кто не очень хорошо знаком с программированием - самое то.
С другой стороны, мне не очень нравится подход автора "перепишите код и смотрите, как он работает". Это не StackOverflow, в конце концов.
Profile Image for Chentao.
63 reviews4 followers
November 26, 2021
I wanted to bridge the gaps in my Python knowledge.

The concept of OOP always puzzles me. Coming from a FORTRAN background, I am very used to functional programming.

However, I found that until exercise 40, the pace of the book is very elementary-level. But from ex43, the pace is suddenly the speed of light. I am again, not surprisingly, lost in the world of class, objects, inheritance, instance, constructor, ... I found the book can do a better job by extending it's content from ex43.
Profile Image for  ج ــ.
29 reviews11 followers
October 15, 2018
a nice introduction for those who doesn't have any previous knowledge in python programming language. Generally, the book is good, I like the way (method) that he used in his exercises, more practical than copy/paste the code. I recommend it as an introduction to get the basics (still reading it now)
361 reviews
Read
October 1, 2019
I am disappointed with this book. Zed Shaw takes a very arrogant approach. He should have copied all the programs, so we could have run them, copied them as-is. Not having that kind of irritated me. It turned me off the book. The content was good, but he went from intro to advanced in 1 chapter. Not a good book for someone who is a beginner, and not a good book for advanced programmers.
4 reviews1 follower
Read
June 27, 2020
Good read, if you are absolutely novice. He has a way of compelling you to put strain on and train your brain to think about Python and getting used to it.
But that's about it.
For the price hardcopy of it is available in India, please don't go for it, instead go for other better, pocket friendly options out there.
144 reviews5 followers
July 16, 2022
With the caveat that I have a bit of coding background, taking a class on Python 2.7 in undergrad, I find this book to be a particularly great into to Python 3, or object-oriented programming in general. The exercises are well designed to encourage you to think about what the code means and how it could be applied outside of a specific exercise.
Profile Image for Hrittwik.
2 reviews
September 28, 2022
IMHO best book if you're a complete beginner. You might get annoyed by the patronizing tone but trust me, if you're first time learning programming then just follow the book from the first page to the last. You'll learn to program intuitively. Maybe you won't understand right away but just go through with it and you'll get it eventually!
Profile Image for Ignacio.
494 reviews121 followers
March 11, 2023
Los ejercicios son un buen complemento para el aprendizaje de Python 3; lamentablemente, las nociones pedagógicas del autor de este libro son decimonónicas. Se propone al lector que copie todo el código tal cual, aunque no lo entienda, ya que supuestamente la programación es una habilidad que se debe adquirir y practicar así, de forma mecánica.
Displaying 1 - 30 of 70 reviews

Can't find what you're looking for?

Get help and learn more about the design.