Learn more Download now Shop now Learn more Shop now Shop now Shop now Shop now Shop now Learn More Shop now Shop now Learn more Shop Fire Shop Kindle New Album - Tom Chaplin Shop now Shop Women's Shop Men's

Customer reviews

3.6 out of 5 stars
3.6 out of 5 stars
Learning Python
Format: Paperback|Change

on 29 August 2013
This book is huge and goes into vast detail. There is considerable repetition, and it is jargon heavy. If you are an experienced programmer who came up via the computer science route, it will all make sense and you will be able to relate it to things you already know about. If not, you could find yourself drowning in a sea of words.
I'm leaving this review because I think the title is a bit misleading. The blurb describes it as an "easy to follow self-paced tutorial". I would not use this book as a general textbook to learn Python in this way. It is quite abstract. For instance, when the author starts on OOP, he seems to focus on how Python implements OO internally. The way that the interpreter searches for class members up a tree is part of the technical detail of the language itself, but it isn't much use to a programmer who just wants to convert some OO code from another language into Python, or someone who doesn't yet understand OO. At one point the author seems to be reassuring his audience that this OO stuff isn't really a new paradigm, it's just a slightly different way of doing the same thing that is already done by modules and packages.
I think the main use for this book is for someone who finds himself in a new job where there is a lot of pre-existing Python code to be maintained and added to, and where over the years a number of different approaches have been used so that he is constantly coming across new usage patterns, or the same thing done in different ways. For this, it is very good because of its exhaustive attention to detail. For someone who just wants to learn the basics of a programming language, this book could be extremely off-putting. For instance, although the author claims that the Python syntax makes it easier to understand than Java, there are plenty of excellent Java textbooks which explain OO and its Java implementation very clearly. Putting them side by side might well convince the beginner that Java is much easier to learn.
It certainly has a place and it is valuable that so much information is available in one place.
22 Comments| 34 people found this helpful. Was this review helpful to you?YesNoReport abuse
on 22 September 2017
I like the book, enjoying it a lot, right about chapter 9 or so; although it is dense and it needs time to digest.
- Very in-depth for 2.x and 3.x, really like how the author tackles subjects.
- Clear examples and goes in depth in all of them.
- So full of information that I feel I learn more than expected.
- Excellent as a reference as well.
- Excellent to learn how things really work in python, not a tutorial, not a simple guy, an in-depth killer book.
- Good set of quiz questions and also exercises.
- Good value for money.

- Can be slightly dense.
- Some things are not extremely necessary and going too in-depth can cause the reader to think "when are we writing some code? c'mon".

Buy it, have it on your desk.
review imagereview image
0Comment|Was this review helpful to you?YesNoReport abuse
on 21 June 2017
As others have said, this book is not suited for the absolute beginner. However, if you spend a little while on introduction youtube tutorials learning the syntax beforehand, this book is an excellent bridge up to intermediate Python.
0Comment|Was this review helpful to you?YesNoReport abuse
on 10 August 2017
An excellent book. Exactly what I expected from an O'Reilly publication. Well written, accurate and clear.
0Comment|Was this review helpful to you?YesNoReport abuse
on 31 March 2014
The first thing that strikes you about this book is that it's big. 1500 pages big. Big enough that physically handling the book is inconvenient.

Upon reading it, you'll see that much of the size comes from repetition. Many of the chapters present alternative ways to do the same thing, often using this technique as an explanatory device; yet somehow, the author manages the doublethink of continually repeating the Python "There should be one-- and preferably only one --obvious way to do it" mantra.

The order in which the material is presented is wrong. The book explains Python's basic types before its syntax; this means it's 300 pages in before you can actually start writing code that does anything. It's 473 pages in before the concept of a function is introduced; even if this text was written for those who had done no previous programming at all, this seems bizarre. Obviously the sections on types have to talk a little bit about syntax and functions (otherwise you wouldn't be able to say anything about what those types actually do in the first few chapters), which is yet again a recipe for repetition.

Exercises are few and far between. There are "quizzes" at the end of each chapter, but they're very simple, knowledge-based questions which don't require you to write code. Programming is learned by doing, so you'll need to invent your own projects to do if you want to learn with this book.

If you can ignore the structural defects, the book is beautifully written at the detailed level, and the code examples are of a high standard. It is highly readable - you won't need to continually re-read to understand what's going on - but the repetition means you will find yourself skimming or skipping large sections of the text.

The book is a broad overview of a vast language; it is not a detailed API reference, and doesn't have examples of every possible API call. And neither should it be; all that stuff is online. It does explain the concepts well and give you an insight into why Python has evolved to be the way it is. However, if you're an experienced programmer looking for a quick way to break into the Python world, you might want to look for something a little more concise.
0Comment| 15 people found this helpful. Was this review helpful to you?YesNoReport abuse
on 6 August 2016
You will get a greater sense of achievement simply having finished this book, than mastering Python.

His whole book is summed up in one sentence: "we shall cover this later".
When later does arrive, and believe me it's an eternity away, you then get presented with the whimsical "There are too many details to cover here, please search other material online".

If your on kindle, don't even try.
The barrage of constant (see chapter 1) ... (see chapter 28) *n ... Will quite possibly even make you resent any family members even sharing the same first name as Mark.

Bang for buck, spend a little more money and grab a handful of Python books.
You will gain greater knowledge and more breadth than what this drivel provides.

If your masochism overwhelms you to still proceed and purchase this instrument of torture, then be prepared for the agony to ensue as he is constantly baiting you to buy his follow up book, programming Python.

If anyone is wishing to grab a free copy, mine shall be residing at the recycling centre.
0Comment| 4 people found this helpful. Was this review helpful to you?YesNoReport abuse
on 13 December 2013
It's vastly overlong, and incomplete. Of the 1500+ pages, I thought "well, at least it'll be comprehensive".
So I search for shell, shell escapes, executing, popen, running, os. , and so on in the index.
A few scraps. Popen is how you'd call the shell to run commands, by the way. Lots of options and subtleties. Important and useful for a scripting language like Python, where you'll often be interacting with the o/s.
There turned out to be next to nothing on what I would have devoted a chapter to. Oh, and everywhere there are references to "we'll cover that in chapter x". If you could be bothered to go that far. I have several of the authors books; this is by far the worst, and is one of the poorer technical books I've encountered. A shame, as it seems to me such a missed opportunity.

Another example: parsing command-line arguments, which is supposed to be achieved with argumentparser. In 1500 pages, there's nothing on that; Oh, I lied. There's 1 reference, which simply refers to getopt, argparse, and optparse. No recommendations, no details, and a suggestion that you use the built-in function input() to prompt the user (FGS has the author ever written a command-line program?).

I find docs.python.org pretty unusable, (maybe that's my fault), but this is actually worse!
1500 pages should mean it's a reference book. This is not.

BTW, just how is this an unhelpful review? If you love the book, fine, but don't be childish and vote down people who disagree. Sigh.
22 Comments| 16 people found this helpful. Was this review helpful to you?YesNoReport abuse
on 24 August 2014
The book is huge and gives a reader a deep understanding of Python both in 2.X and 3.X versions.
Everything is explained from all possible angles and with many (really, many) examples.
Why 3/5 then?

Well, often during reading this book I had a feeling, that the author was being paid by the number of pages. Often he described even the simplest ideas on two pages and repeated himself over and over again. Frankly, sometimes I thought that that he thinks a reader is an idiot.

Also the huge number of examples isn't such a great thing considering that after 5 or 10 trivial examples and getting what the idea is, you would expect a few more advanced to keep your brain working. But no, after that you get another 5 or 10 trivial examples which are just too similar to the previous ones. As a result most of this book is horribly boring (and that's really a lot of pages).

So to summarize - the book itself contains a great dose of knowledge but the same could've been fit to the half of the volume without losing any bit of information and understandability.
0Comment| 5 people found this helpful. Was this review helpful to you?YesNoReport abuse
on 23 March 2009
After reading 2/3 of this book I was tearing my hair out. It fails to address either beginners or experience programmers properly. I fall into the latter group, being a perl developer of 10 years.

For beginners it doesn't explain any programming concepts. So you will be learning python features without grasping what purpose they fill.

It shows you very methodically the basic forms, constructs and features of the language but not why or how to use them. A good book will show you these features in context early on and walk you through the example code for real use cases highlighting the feature it is showing.

It should not really be comparing why feature x is differnt in python to C or worrying the reader about future changes to the language. It should give the reader just enough information to start playing with the language by showing the reader basic programs, explaining the concepts and providing good exercises that encourage the reader to think like a programmer.

Experienced programmers will feel like they are wasting their time I as did. I'm reading Core python now which is considerably better but even that could be arranged better. I'd prefer a summary of data types, conditionals and looping and then get right to the meat and potatoes of functional and oo programming, followed by a more detailed reference. Detailed tables of of datatypes, file open() options should not be at the beginning, they should be in a reference section.

I got a bit sick of all the monty python references too although it did made me laugh when it asked me what my favourite colour was in one of the exercises - but that unfortunately was it's only redeeming feature.
0Comment| 21 people found this helpful. Was this review helpful to you?YesNoReport abuse
on 19 October 2014
If you already know how to program in some other language, this will prove frustratingly slow. If found myself reading whole chapters and thinking, I could rewrite the whole of that in a few sentences. Python comes with a built-in tutorial which is far superior.
0Comment| 7 people found this helpful. Was this review helpful to you?YesNoReport abuse

Sponsored Links

  (What is this?)