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.
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. 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. |
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 amazon.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
The Index (Score:5, Interesting)
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.
Re: (Score:1)
Which one is it that uses your breathing patterns as you type it indicate the control logic? You may be right.
Re: (Score:2)
You have been tagged troll not because of what you think, but because the way you say it. Huge difference.
What SHE doesn't need? Really now! (Score:3, Funny)
"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)
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)
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)
...one 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:1)
Strictly speaking it is. But it's common usage, at least in some dialects, to refer to a person of unknown gender.
Perhaps this is because the plural form is neuter anyway?
Re: (Score:1, Interesting)
Re: (Score:2)
No, "their" is plural in Standard English. That was my point: in the *actual* English spoken by many, perhaps even most speakers, "their" is a perfectly acceptable way of referring to singular antecedents--in fact, it is *the* way to do so when the gender is unknown.
Before you call people naughty words, you should learn a thing or two about descriptive versus prescriptive grammar (i.e., actual usage versus whatever self-appointed experts say people "should" do for whatever reason) and maybe take a linguisti
Re: (Score:3, Insightful)
As in 'Look it has messed up that trivial bit of Python as well'.
Donning my asbestos underpants.
Re: (Score:2)
Yes, that's correct, particularly when referring to web developers and gui programmers.
Re: (Score:2)
Re: (Score:2)
Re:What SHE doesn't need? Really now! (Score:4, Funny)
When political correctness is required I usually combine "she", "he", and "it" in a single pronoun. As in "shit is politically correct".
Re: (Score:2)
Well I laughed.
Re: (Score:2)
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
Re: (Score:2, Troll)
No, it's a good choice.
It's one of the many sexist pathologies of English that the male third person pronoun is used to indicate a generic third person. Using a female third person pronoun in a place where the context is obviously gender neutral highlights that pathology without sacrificing any meaning.
That it pisses you off indicates only that the pathology exists. This technique has existed for more than a decade in the humanities, and once you get used to it, it's as unnoticeable as 'he/him'--in other words, once that pathology has been exposed and turned off.
This is a far better way to remove a bit of useless baggage from the language than haranguing people to be PC or accusing them of being sexist. It just moves on to a better usage, and if that bothers you, it's only because you're trying to hang on to the old sexist trope.
It would be far better to create and use a new and actually gender-neutral third-person singular pronoun. I like that better than pretending that the assumption of a feminine subject is somehow far less sexist than the assumption of a masculine subject. The latter is a rather puerile form of hypocrisy because reverse sexism is still sexism, a fact that must be acknowledged if you view the eradication of sexism as a worthy goal. That hypocrisy, the willful blindness to it, and the exhibition of both while
Re: (Score:2)
Or we could just use the singular "they" which has been in use for hundreds of years. Yes, hundreds. Prescriptivists can go piss up a rope.
"They" is inherently plural, just like "we" is inherently plural when using the first-person. You might feel a need to make it bleedin' obvious, but what you point out was implied by my initial post; it is why I was very specific about limiting my comment to the utility of a new, third-person singular pronoun that is gender-neutral. "They" is often understood to have the meaning that you ascribe to it, but adapting a plural term for a certain implied singular usage is a less than elegant solution.
Perhap
Singular "they" (Score:2)
"They" is inherently plural, just like "we" is inherently plural when using the first-person. You might feel a need to make it bleedin' obvious, but what you point out was implied by my initial post; it is why I was very specific about limiting my comment to the utility of a new, third-person singular pronoun that is gender-neutral. "They" is often understood to have the meaning that you ascribe to it, but adapting a plural term for a certain implied singular usage is a less than elegant solution.
Nothing about any word is inherent. "You" started out plural, was adopted for the formal singular, and long ago displaced "thou" as the informal singular. Now there are even new plural forms, such as "y'all".
English already has a neuter third-person singular pronoun, but for some reason it's considered rude to call a person "it", except in certain constructions.
Perhaps one could also use the word "one" as a substitute for the he/she/they pronouns.
Does one care if one's audience considers one a pedant?
Re: (Score:1)
Re: (Score:2)
You can't go around for decades telling men they're doing things wrong and then and do what they do and expect no one to say anything and if that doesn't make much sense then I refer you to this link: http://www.google.com/dictionary?aq=f&langpair=en [google.com]|en&q=hypocrite&hl=en
Re: (Score:2)
As you so ably illustrate with your borked link, it's the hypocrisy of it, since men were (and are, here on ./) largely oblivious to sexism directed at women.
Re: (Score:1)
Re: (Score:2)
Thank you for illustrating my point.
Re: (Score:1)
I'll add that it's impressive how sensitive men are to issues of sexism and gender discrimination when they perceive themselves to be the victims.
We are delicate flowers.
I agree completely (Score:1)
I agree completely (cancer is horrible). I don't understand why men (most cancers are preventable) take such offense (and can be detected early) to someone (if you stop smoking today, you could increase your life expectancy by 15%) putting off-topic (I like cats) subtle (I really like cats) messages in their prose.
Re: (Score:1)
Re: (Score:2, Offtopic)
It would be far better to create and use a new and actually gender-neutral third-person singular pronoun
I suggest "e" - it has all the benefits of he/she, plus it rhymes so that porting existing music would not be difficult!
"no e can't read my poker face"
P-p-p-poker face p-p-poker face...
Re:she? (Score:4, Insightful)
It would be far better to create and use a new and actually gender-neutral third-person singular pronoun...
Good luck with that. Pronouns are an example what linguists refer to as grammatical (as opposed to lexical) categories. One way in which grammatical classes are different from lexical categories is that they are generally a "closed" class, meaning they do not readily admit new members. You can make up new nouns, verbs, and adjectives (lexical categories) at will, but if you try to invent, for example, a new preposition (a grammatical category), it probably won't catch on (and you'll sound funny, if not unintelligible). And since pronouns are also a grammatical class, you guessed it: same thing. Of course, grammatical classes do change, but it's normally at a significantly slower rate.
Additionally, many people already have this base covered with "they"--while Standard English hasn't (yet?) accepted it, it's certainly a part of the (actual) English of many speakers.
Re: (Score:3, Informative)
No, it's a good choice.
It's one of the many sexist pathologies of English that the male third person pronoun is used to indicate a generic third person. Using a female third person pronoun in a place where the context is obviously gender neutral highlights that pathology without sacrificing any meaning.
That it pisses you off indicates only that the pathology exists. This technique has existed for more than a decade in the humanities, and once you get used to it, it's as unnoticeable as 'he/him'--in other words, once that pathology has been exposed and turned off.
This is a far better way to remove a bit of useless baggage from the language than haranguing people to be PC or accusing them of being sexist. It just moves on to a better usage, and if that bothers you, it's only because you're trying to hang on to the old sexist trope.
It would be far better to create and use a new and actually gender-neutral third-person singular pronoun. I like that better than pretending that the assumption of a feminine subject is somehow far less sexist than the assumption of a masculine subject. The latter is a rather puerile form of hypocrisy because reverse sexism is still sexism, a fact that must be acknowledged if you view the eradication of sexism as a worthy goal. That hypocrisy, the willful blindness to it, and the exhibition of both while telling others what they should do is the only baggage I see here.
It does exist and it's called the "generic they." I realize it pisses off quite a few of the grammar purists, but everyone from Shakespeare to Jane Austin to Mark Twain to George Bernard Shaw has used it. Consider the sentence "Nobody in their right mind would do a thing like that." Going purely by how it sounds to me, "Nobody in his right mind would do a thing like that" sounds outdated (like it's from a movie from the 50s) and "Nobody in her right mind would do a thing like that." sits about as well wi
Re: (Score:1)
To you, perhaps. To me, it sounds like I'm talking to someone who knows English grammar. The "generic they" is just plain wrong by modern English standards.
Re: (Score:3, Insightful)
To you, perhaps. To me, it sounds like I'm talking to someone who knows English grammar. The "generic they" is just plain wrong by modern English standards.
Language is defined by how native language speakers actually speak it, not by what purists (and dictionaries that they write) think it should be.
Re: (Score:1)
I am a native language speaker. What makes your opinion of what English should be more valid than mine?
Re: (Score:2)
I am a native language speaker. What makes your opinion of what English should be more valid than mine?
Nothing (particularly as I'm not a native English speaker), but I haven't even claimed any particular opinion on this.
Quite obviously, one can (almost) never claim 100% acceptance, so we go by what the majority thinks is good enough. If your opinion is in the minority, then, yes, it's less valid. And it should be noted that one doesn't need the majority to take the "this is how I speak" position; merely accepting the variant as valid is good enough.
That said, I do not know if "singular they" is mainstream i
Re: (Score:1)
you won't want to learn Spanish ("ellas" is plural feminine, "ellos is plural masculine, but for some reason a group of 200 women with one guy is still "ellos")
It's the same with Portuguese. And the reason for it is that there isn't a neutral gender in either languages. You have either Masculine gender or Feminine gender. Now what I would like explained is why the Feminine gender is better than Masculine when what you really want is neutrality... My personal view is that changing or mixing both is nonsense. Right now, only the plural masculine is ambiguous - it's either a group of men women or both, although in the vast majority of cases, context provides that inf
Re: (Score:1)
But that requires common sense! You can't do the with XSLT. How am I supposeed to code that?
Well, it's a grammatical convention that goes back to [vulgar] Latin, the same way inanimate objects are male or female too. But it's something English speakers find odd to be sure, becaus
Re: (Score:1)
or German (the generic pronoun is "man,"
At least they do differentiate the two: man and Mann. And there's a difference in emphasis as well.
Re: (Score:2)
It would be far better to create and use a new and actually gender-neutral third-person singular pronoun.
We already have an "actually gender-neutral third-person singular pronoun": "it". Why should we make up a new word when there is a perfectly servicable one just waiting to be used?
Re: (Score:2)
It would be far better to create and use a new and actually gender-neutral third-person singular pronoun.
Back in the early nineties a bunch of PC fanatics tried this out and came up with such gems as 'sie' (he/she), 'hir' (her/his). The same crowd also tried introducing words such as 'waitron' (waiter/waitress). It always amazed me that people could do this with a straight face.
Re: (Score:1, Troll)
It's one of the many sexist pathologies of English that the male third person pronoun is used to indicate a generic third person.
I know. It's extremely sexist against men. Women get their own, unambiguous pronoun, while us men have to settle for "he" which could be referring to a woman. Stop the sexism, give men their own unambiguous pronoun.
Re: (Score:1)
It's one of the many sexist pathologies of English that the male third person pronoun is used to indicate a generic third person.
So you replace one pathology with another. Well done.
In Capitalism, man exploits man. In Socialism, it’s exactly the opposite.
Re: (Score:2)
How exactly is using she less sexist than using he? Isn't that still giving preference to a sex?
Re: (Score:1)
"He" is the less sexist one, and anyone who disagrees, I'll puch(sic) him in the face.
There, FTFY
Re: (Score:1)
Re: (Score:2)
It's not. It's also far more distracting than other choices.
He--I get why people want to phase this out, but at least it's a well understood convention.
They--This seems to be the popular choice for a 3rd person pronoun of indefinite gender. I'd rather we get a new word, but it works pretty well and is used very widely in informal speech and writing. I say we make it official.
She--Worst choice of the three by far. Every time I (and, I'm sure, most people who are used to the other two better options) read
Re: (Score:2)
It would be the same as referencing Africans as white people. White Africans do indeed exist but the majority aren't so why would you use a white person to represent a black majority?
Re: (Score:2)
no, its not the same.
The "correct" English term is to use the masculine if there is at least 1 man in the group. ie, the masculine takes precedence. (or as my female english teacher taught me, "in English, he embraces she").
Other languages are the same - French for example will use il if there's a man in a group of women, elle is only used to denote an exclusively female group.
You can say its wrong, you can say its just the usual male misogyny toward females. The truth is that we use the masculine to denote
Re: (Score:1)
You forgot that English has a neuter.
So when referring to a group consisting of ladies, fish and gentlemen should one use "they/them/their", "they/them/their" or "they/them/their"?
Re: (Score:3, Informative)
Putting on my linguist's hat here (yes, I do have a degree in it, thanks), languages don't have pathologies. They have grammars, and those grammars have rules. Rules which tend to change over time and often to be inconsistent between dialects (cf., Old English Vs. modern standard British English, and modern standard British English Vs. modern standard US English), but at any given point in time, the grammar rules intrinsically known by native speakers are a very good guide as to what is correct or not corre
Re: (Score:1)
Bof. Perhaps we have different definitions of a fad, but I used to get pinged for at at school 30 years ago for it, and I sure didn't invent it myself.
Perhaps there is some obscure rule that I'm (without your awesome linguist degree) unaware o
Re: (Score:1)
French has a similar thing. A group of schoolgirls are elles, a group of schoolboys are ils. But one boy in mixed class - it's ils.
That's just how it goes. It probably dates back to the middle ages when it mattered how hard you could swing a sword. Consequently, better to offend girls by calling them boys than the other way round.
Re: (Score:1)
Re: (Score:1)
Re: (Score:3)
Bah, Python is for girls anyways. Everybody knows that PERL is the language of true men.
Actually, C is the language of true men (it's got dangling pointers in it, duh).
Re:she? (Score:4, Funny)
What's going on here?
I clicked on this topic because I wanted to read multiple long flamewars about indentation, whitespace and programming syntax. But no: Instead, all I see is a bunch of arguments about pronoun gender.
Re: (Score:1)
Re: (Score:3, Informative)
I'm definitely not female. I'm pretty sure my wife will vouch for me on that.
I'm not a "political-correctness" fanatic either. I pick the things I'm fanatical about and pretty much none of those things are political in any fashion.
It's been a bit since I wrote the review. I don't labor over these for days or anything. I usually knock them out in a couple hours or so. So I don't actually remember putting 'she' in there. It might have been a mistake. I do the original in google docs and I don't think i
Python in a Nutshell (Score:2, Interesting)
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)
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.
Re: (Score:2)
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.
Ordered this the other day (Score:3, Interesting)
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.
Re: (Score:2)
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....
Everyone knows... (Score:5, Funny)
... all PHP coders are secretly py-curious.
Re: (Score:2)
Re: (Score:2)
No, you're not. I logged in just so I can make this same comment. I guess I've been working in .NET for too long
Not long enough [codeplex.com], apparently.
Re: (Score:2)
Re: (Score:3, Informative)