Python Essential Reference (3rd Edition)
|
| List Price: | $44.99 |
| Price: | $32.84 & eligible for FREE Super Saver Shipping on orders over $25. Details |
Availability: Usually ships in 3 to 5 weeks
Ships from and sold by Amazon.com
23 new or used available from $17.93
Average customer review:Product Description
Python Essential Reference, 3rd Edition, is a comprehensive reference to the Python programming language. The focus of this latest edition is to add coverage of significant new features and new library modules added to the language over the past five years. Clearly written with concise organization, the new features covered include new style classes, unification of types and classes, xmlrpclip, intertools, bz2 and optparse, making it the most up-to-date Python book on the market.
Product Details
- Amazon Sales Rank: #434407 in Books
- Published on: 2006-03-02
- Original language: English
- Number of items: 1
- Binding: Paperback
- 648 pages
Editorial Reviews
Amazon.com Review
Every so often a book comes along that makes you ask yourself, "Gee, when was the last time I had my eyes checked?" David M. Beazley's Python: Essential Reference is just such a book. Condensing thousands of pages of Python online documentation into a compact 319-page softcover, Beazley and his editors used the old-college trick (often performed in reverse) of dickering with the font size to meet a putative page-limit requirement. The result is a truly condensed product fit for the occularly well-adjusted (nota bene).
Beazley's subject is Python, a full-featured, freely-redistributable, POSIX-compliant (platforms include Linux, Unix, Macintosh, and Windows) scripting language that is based on object-oriented design principles. As advertised, Beazley's source release (1.5.2) is available from an unfortunately slow server at www.python.org. The installation under Linux (Redhat 5.2) proceeded without incident.
Beazley holds true to his catalogic purpose: fully 230 pages are formatted as technical appendices and indices covering the standard litany: built-in function syntax, database features, OS-level interfaces, Internet interfaces, and compiling/profiling/debugging. All references are fully annotated and illustrated with example source code that runs from a couple of lines to a couple of pages. In lock step with competing scripting languages, Python is extensible and embeddable in C and C++, and with blitzkrieg efficiency, Beazley summarizes these crucial practical issues in the final 30 pages. Python users who are tired of chasing questions through hyperlinked online documents will benefit from the expansive random-access index.
Python the book captures the orderliness of Python the language. Beazley begins with an 86-page précis of Python in the fashion of Kernighan and Ritchie: too brief for a newbie tutorial but enough to propel old hands into a scripting language that aspires to the elegance of a compiled language.
Indeed, it is a byte-compiling language. The line bytecode=compile("some_python_script",'','exec')) creates 'bytecode' as a token executed by exec bytecode. But a five-minute investigation through Beazley's book does not describe how 'bytecode' can be written into a separate executable file. If writing the byte-compiled code to a file is not possible, Python suffers from the limitations of other scripting languages: the executable is the source and cannot be hidden from the user, at least not without some difficulty. Despite its extensibility, embeddability, and pleasing architecture, Python is like other scripting languages: appropriate for solving small nonproprietary problems.
Those familiar with more established scriptors like Perl may ask, "Why Python?" Unlike Perl, Python is a product of the fully object-oriented (OO) era, and its constructs reflect design principles that aspire beyond keystroke shortcuts of the succinct-but-often-arcane Perl. Python creator Guido van Rossum cleansed Perl's idiosyncracies and objectified basic data structure, data manipulations, and I/O. With Python, OO is so intrinsic that learning Python is equivalent to learning OO. The same cannot be said of Perl.
Unfortunately, comparisons with other languages are missing from Beazley's book. Van Rossum, in an embarrassingly self-serving foreword, preemptively asserts that we readers need "neither evangelizing nor proselytizing"--after all, we already own the book--but we do need galvanizing and we don't find it. Specifically, we need a response to the oft-repeated wisdom that new computer languages are only worth learning if they teach us to organize our thinking along new lines.
Scripting languages, however, are for quick and dirty projects: quick to write, easy to hack, and ultimately disposable. The essential tension created by van Rossum and friends is between the elegance of object-oriented principles and the utility of a quick-hacked script. Sadly, the tension remains unresolved in Beazley's reference. There is little to convince us that Python has earned its place in the firmament by changing our thinking. But Beazley has given us much to get us going if we have already taken the leap of faith. --Peter Leopold
From Library Journal
Though Python is a relatively new programming language, it has quite a significant audience owing to its sensible syntax. An active user of Python since 1996, Beazley provides ample information on the fundamentals of versions 2.0 and 2.1, including syntax, functions, operators, classes, and libraries. This is first and foremost a reference, so he avoids lengthy discussions of Python's superiority. Peppered with good code samples and featuring a companion web site with more extensive pieces, this title should be on hand in larger libraries.
Copyright 2001 Reed Business Information, Inc.
Review
Despite the increasingly high profile of the Python programming language, good books on the subject have been frustratingly scarce. The original Internet Programming With Python has been out of print for some time, and O'Reilly's offering has been felt by many to be not quite up to the level of that publisher's other books. So a new book about Python is certain to raise some degree of interest. Happily, the Python Essential Reference by David Beazley is a high quality work which should be well received by Python hackers everywhere.
The Python Essential Reference is a marvel of conciseness. The tutorial introduction is dispensed with in ten pages, yet manages to touch on all the important features of the language. The next 75 pages go over the language in detail. Again, the treatment is very concise, but also complete. Your reviewer, who considers himself a reasonably experienced Python hacker, learned several things while reading those chapters. -- Jon Corbet, Linux Weekly News
Customer Reviews
An excellent, concise Python reference
Intending to familiarize myself with Python, I picked up a copy of O'Reilly's Programming Python a couple of years ago. After an initial attempt at going through the book, it has been on my book shelf since. It was simply not organized in a fashion that allowed me to quickly pick up the essentials of the language.
As someone who was already familiar with C/C++ and Perl, but wanting to learn Python, the Python Essential Reference was exactly what I was looking for. Yes, most of the information contained in the book is available in the Python reference documents, but not collected in one place.
In addition to adding examples from his own experience, David Beazley has done an excellent job in concisely summarizing the built-in features of the language as well as providing a nicely indexed library reference.
While this book may not be immediately useful for someone looking specifically for a language tutorial, beginning or advanced Python programmers will get useful information from this book for much longer than most tutorial style books.
Highly recommended.
Review of 3rd edition
Good points:
* Much-improved readability
The font, layout, etc. are all much better than in previous editions.
* Lengthy coverage of important modules
Especially: optparse, logging, doctest, and unittest.
* Excellent tutorial for programmers
This (chapter 1) is the best I've seen -- very clear and succinct. Give it to anyone wanting to pick up Python fast.
* Has all the necessities.
Good index, good explanations of language usage, etc. All standard modules are at least mentioned, and all useful ones are covered.
Bad points:
* Reference section says very little that is not in the Web docs
The Nutshell book documents each function of a module with an explanation of how to use it and what to watch out for. It often provides a useful example. Beazley, on the other hand, has mostly restated the web docs, which are free.
* Lacks future feature coverage
Previous editions of this book stated the version of Python covered on the cover. This book covers 2.4, but you have to open it to find that out. That would be a minor point, except that it has absolutely nothing about what to expect in 2.5. The Nutshell, on the other hand, claims to cover only one version but actually reveals a great deal of what to expect in the next. Beazley could have at least mentioned relative imports, return-from-yield, and anything deprecated.
* Important points can be difficult to find
I had to look in several places before I finally learned what ellipsis is for in slicing.
Summary:
This book does not add much value beyond the web docs. However, if you need a hard-copy reference for Python2.4, this is your only option, and it's not a bad one. It's very well-organized and very easy to read.
Excellent reference
Firstly, ignore the review by Mr. Leopold. Despite the fact that that book is not intended as an introduction to the Python language, and mind you, this is stated repeatedly within the foreward and introduction, he seems to insist on treating it as such. Further, he can't seem to decide if he's reviewing the language or the book... All in all, a very poorly written review.
In any case, this is an excellent reference manual, suitable for Python hackers of all experience levels aside from complete newbie. As the sort that hates having a web browser open to sift through documentation, this reference is a godsend. The information presented is often terse, but quite clear.
The first 86 pages are a handy reference for the language itself. Being fairly familiar with Python already, I only skimmed over this section, but it seemed nicely organized.
The next big chunk of the book, the library reference, is nicely done as well. The modules are organized into sections based on general function (Math, OS Services). Each module name is listed in bold, and is followed by a quick list of platforms it is available on and a short description. After that, the authors rattle off the relevant details (classes, functions, variables, and so on) for each module. The classes and functions generally get the bold header with short paragraph description treatment. Everything else is typically listed in tables. This approach works surprisingly well, and though there are some cases where modules with large numbers of functions have them listed in a table, this is only done when it makes sense. A good example of this would be the math module, and its many (not surprisingly) math related functions such as sin, sqrt, and log.
All this is often followed with short examples, as well as a notes section that I have found surprisingly useful. The debugger and profiler are listed towards the end of the library section, and he does go into a bit more detail on those. Still, like the rest of the book, the sections on the debugger and profiler are intended only as a reference. I seem to remember the web pages having a short but helpful tutorial on using pdb and the profiler. Beginning and intermediate Python programmers will probably want to get started there.
He wraps up the book with a section on extending and embedding the language. This is not of particular interest to me, and I have only skimmed the section, but it seems to be fairly complete based on what (little) I know about the process.
Finally, we have the index. It maintains the level of quality established earlier in the book; I have, thusfar, had no problems finding what I was looking for. The index clearly lists each entry as a function, method, module, and so on. Clocking in at over 40 pages, it certainly does not lack due to a short length either.
If you want to learn Python, this isn't the book to do it with, though you'll certainly want to pick it up after you've gotten hold of the basics. If you've already got some experience with the language, I recommend it whole-heartedly.




