Become a fan of Slashdot on Facebook


Forgot your password?

Python Essential Reference 4th Ed. 94

stoolpigeon writes "It has been ten years since David Beazley wrote the first edition of Python Essential Reference. The book has proven itself as a valuable resource to Python developers and has been kept current over those ten years, with the fourth edition coming at an interesting time for Python. Python 3 was a major release that broke backwards compatibility. Python 3 has been around for a year now. That said, the current download page at the official Python site states, 'If you don't know which version to use, start with Python 2.6.4; more existing third party software is compatible with Python 2 than Python 3 right now.' Beazley, in keeping with the pragmatic roots of a reference that sticks to what is 'essential,' has removed the coverage on features from 2 that were removed from 3. At the same time, the primary focus for new features that came with 3 is limited to those that have been back-ported to 2. This approach, born out of a desire to keep the reference relevant, provides a blended approach that is above all else practical." Read on for the rest of JR's review.
Python Essential Reference 4th Ed.
author David M. Beazley
pages 738
publisher Addison-Wesley
rating 9/10
reviewer JR Peck
ISBN 978-0-672-32978-4
summary A definitive guide to the core Python language and the essential parts of the Python library.
The end result of that choice is a reference document consisting of those parts of Python that are shared between versions 2 and 3. This is a significant portion of the language and I think this approach is really what will give this reference more traction than many of the other guides that focus purely on 3. I think that those are valuable and over time the balance will shift but as of right now, for a little while to come, this book takes the most realistic approach. That feels very fuzzy, but I have no idea how long it will be until Python 3 truly is the dominant version and Python 2 is truly put to bed.

If I had to guess how Beazley's Python Essential Reference has held in there over the years, the key would be that there is a lot of what a developer needs and very little of what she doesn't need. There is a twenty-four page tutorial introduction, but this is not a guide on how to program or how to use Python for beginners. An experienced programmer could probably use this reference to shift to Python as a new language, but someone completely new to writing code would probably not want to start here. A quick look at the table of contents shows that an explanation of the language itself is covered in under 200 pages. Extending and embedding Python also get their own section, but close to 400 pages is given to the Python library.

An inevitable question is what one will gain with this reference over the online documentation. A good example to see how things vary is to look at chapter nineteen, Operating System Services and the online documentation for Generic Operating System Services. The online documentation is very thorough, and covers each piece of the library starting with os and io, building from there. While every facet is documented much of it is rather brief. For example section 16.2.3. Raw File I/O is a very straightforward listing of the very low level functionality available via io.FileIO. In contrast, looking at the 3.1.1 Docs for Raw IO shows that parameters for FileIO changed with that version. Looking to the documentation for 2.7a1 Raw File I/O shows that these changes are being back-ported to Python 2.

In Python Essential Reference none of this hunting down changes and checking to see if they are coming to 2 are necessary. Beazley shows them in his documentation. This is the strength of his choice on how to handle these types of situations. On top of that, Beazley provides more than the online documents by including four paragraphs of additional information on Raw I/O and when its use is appropriate. This added content is probably available googling around for it, but then I have to take the time to check dates on posts to see if things are still current and in general just hope that things are accurate. I have never read a technical book that was completely error free, and there are probably at the very least some typos in Python Essential Reference, though I haven't caught any of them on my read through or use of the book yet. But the important thing is that I don't expect the book to be perfect, rather I value it for being a known quantity. I am aware of just when the material was compiled, who put it together and I have it all in one place.errno symbols is not exhaustive and oddly enough is not ordered alphabetically. Beazley provides two lists for errno symbols. They are provided in alphabetical order, have a description and are grouped as POSIX error codes and Windows error codes. A quick glance at these tables in a skimming of the book might lead one to believe that this is just a simple quick grab from already available sources, but that isn't the case. There is real value added even here.

The index is solid. It would seem that one should be able to take this for granted with a technical reference but I've seen some sad exceptions. Between the thorough index and the detailed table of contents I've never had to spend more than a few seconds looking for what I need. This is the result of those tools as well as the fact that this is not an exhaustive reference. After initially reading through the book for this review, I've taken some time just to use it day to day, as I doubt many will be reading it from front to back. I don't use Python professionally. I'm purely a hobbyist when it comes to programming, but I've found that if I want to get the most out of the time I do have to play with personal projects, I want this book close. I'm not cranking out code that fast to begin with and so I need all the help I can get. I've found that Beazley seems to have hit that sweet spot where he gives enough information to get me where I need to be without bogging down in too many details or the things that I just don't need to know. I imagine this proper balance of information is due to Beazley's extensive experience with Python and that of Noah Gift the technical editor for the book.

I've mentioned repeatedly that I approve of how the shift between Python 2 and 3 has been handled. Beazley hasn't completely integrated everything and left some of the unique new features of 3 out in the cold. There is an appendix that deals specifically with Python 3. It is short but does have some value. New features, common pitfalls for those making the move from 2 to 3 and how to run both at the same time in a single environment are covered. This is helpful and keeps my desk a little neater, though I think if I were going to be spending extensive time working with Python 3 then I would probably want to have another reference on hand.

If you are a week-end hacker like me, or someone that is writing Python on the clock, I think that this compact reference is very useful. I don't have any trouble running across huge technical books that do come in handy for any project that requires something heavy. I also see a lot of little books that seem to be quickly produced summaries of what is already out there, spending most of their short content on fluff. Every so often though, someone hits that sweet spot of concise usefulness. Beazley did this with Python Essential Reference and this new edition continues that history in strong fashion.

You can purchase Python Essential Reference 4th Ed. from Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.


This discussion has been archived. No new comments can be posted.

Python Essential Reference 4th Ed.

Comments Filter:
  • The Index (Score:5, Interesting)

    by 1729 ( 581437 ) <> on Wednesday January 20, 2010 @02:58PM (#30835734)

    The index is solid. It would seem that one should be able to take this for granted with a technical reference but I've seen some sad exceptions.

    I think that Beazley generated the index himself with a Python script. I took an employer-sponsored class from him recently, and he was particularly proud of the new book's index.

  • by Anonymous Coward on Wednesday January 20, 2010 @02:58PM (#30835742)

    "If I had to guess how Beazley's Python Essential Reference has held in there over the years, the key would be that there is a lot of what a developer needs and very little of what she doesn't need."

    I know it's considered fashionable to worship at the altar of political correctness, but for grammatical correctness, one should always use a masculine pronoun when the gender is mixed or unknown. Also, the last occurrence of the word "need" is redundant.

    • Re: (Score:2, Interesting)

      by jjohnson ( 62583 )

      Why should one use a masculine pronoun? I understand that it's the historically normal usage, but that implies nothing about what we should do. The writer's meaning is clear. What other consideration is relevant?

      • Re: (Score:3, Insightful)

        by cptnapalm ( 120276 )

        Good reason would be because the vast majority of the people being referred to are men. I wouldn't expect to find lots of masculine pronouns in nursing or child care when referring to the nurses or day care workers or in man-hating feminist diatribes when referring to feminists.

    • Re: (Score:1, Interesting)

      by R.Mo_Robert ( 737913 ) should always use a masculine pronoun when the gender is mixed or unknown. Also, the last occurrence of the word "need" is redundant.

      Actually, many varieties of English prefer "their" when the gender is mixed or unknown. "He" or "he or she" is probably something your English teacher forced on you instead (although there may be people who natively prefer it).

      Of course, your English teacher forced it on you because self-appointed grammar "experts" and prescriptivists demand it in formal language, so it's kind of a double-edged sword: sound stifled and use "he," "he or she," or the potentially too-PC "she" because you know the antecedent is

    • Re: (Score:3, Insightful)

      by MrMr ( 219533 )
      I generally refer to code monkeys as 'it'.
      As in 'Look it has messed up that trivial bit of Python as well'.

      Donning my asbestos underpants.
      • by abigor ( 540274 )

        Yes, that's correct, particularly when referring to web developers and gui programmers.

        • by elrous0 ( 869638 ) *
          Web developers and gui programmers aren't real code monkeys. You can tell because they actually give a shit about the end user.
      • by elrous0 ( 869638 ) *
        That hardly seems fair...associating innocent monkeys with coders.
    • by mangu ( 126918 ) on Wednesday January 20, 2010 @05:24PM (#30837806)

      When political correctness is required I usually combine "she", "he", and "it" in a single pronoun. As in "shit is politically correct".

    • by steveha ( 103154 )

      I wonder if the person who wrote that is female.

      One of the proposed rules for unknown pronouns is that the writer uses a pronoun that agrees with his/her own sex. Thus, in the phrase "what X needs" where X is an unknown third person singular, a woman would write "what she needs" and a man would write "what he needs".

      David Weber uses this rule consistently in his fiction. A female character will even say something like "we don't know what the average woman-on-the-street thinks" rather than "man-on-the-stre

  • Python in a Nutshell (Score:2, Interesting)

    by oldhack ( 1037484 )

    O'Reilly's Nutshell series have become rather inconsistent. Java series particularly I found useless waste of tree, but the Python one by Martelli was very good, complements the online doc very well.

    Would be good to compare this title with Martelli's.

    • Re: (Score:2, Informative)

      by sproingie ( 1690772 )

      ORA's own titles have in general become really quite regrettable. Their "Hacks" series is particularly dreadful, but even the animal books are just not what they used to be.

      Manning's "In Action" series on the other hand has shown consistently high quality for every title I've picked up, particularly when it comes to Java.

      • I've personally found Manning's books to be a bit too wordy with poor examples.

        For standard Java, I don't think Core Java volume 1 & 2 can be beat. I've not been entirely pleased with any books on Java frameworks so I've mainly used the net to pick up Spring but it would be nice to have a really nice reference book purely because I prefer reading books than computer screens for serious stuff.
  • by thetoadwarrior ( 1268702 ) on Wednesday January 20, 2010 @03:43PM (#30836370) Homepage
    I had this on Safari Books Online for awhile and I finding myself enjoying it so I opted for a real copy which should show up tomorrow.

    I would definitely say it's one of the best reference books I've seen in awhile.

    Code books in general seem to be lacking these days. Often they cut out the code and just chuck it on a disk. The reason I bought the book is because I want to see the code on paper and importantly right beside the relevant text that I'm reading.

    In my opinion the Python Essential Reference has a decent balance between examples and the author speaking and it was only £18 which, imo isn't that bad.
    • by rrwood ( 27261 )

      I snagged an illicit copy and was so impressed that I bought the real thing and wrote Beazley a letter telling how much I liked the book....

  • by sootman ( 158191 ) on Wednesday January 20, 2010 @03:50PM (#30836446) Homepage Journal

    ... all PHP coders are secretly py-curious.

If you suspect a man, don't employ him.