Mark Lutz
Completely revised and improved, the second edition of
Programming Python is an excellent compendium of material geared toward the more knowledgeable Python developer. It includes dozens of reusable scripts for common scripting tasks, and is one of the best available sources of information for this popular object-oriented scripting language.
In over 1,200 pages of material, this book offers an extremely comprehensive guide to Python development. Though his book is densely packed with information, Mark Lutz is a lively and witty writer whose focus is on getting things done using the natural strengths of the Python language. To that end, after an introduction and history of the language, the book shows how to use Python for performing automated tasks with files and directories (for example, for doing backups both locally and on Web servers). Not only will this book teach you more about Python, but it will also give you a library of code that you can use as is or adapt for your own projects.
The text covers every conceivable facet of Python and the language's support for networking, files and directories, task management, and even persistence (through its support for shelves). Complete Python programs show how to create e-mail clients, do reporting, and create Web applications (for an online errata database). Chapters on doing graphics programming in Python, as well as coverage of both built-in and custom data structures, are especially good. Because Python is often used for automating installations (in some Linux distributions, for instance), readers will appreciate the sample code and tips for using Python to create bulletproof installs.
Later sections show how get Python to work with C, Java (through JPython), and other languages. The book concludes with useful reference sections summarizing key aspects of Python, like its revision history, relationship to C++, and other material. There aren't many titles on Python, and fans of this up-and-coming language are lucky to have such a solid tutorial and guide available in Programming Python. Perfect for those with just a little previous exposure to the language, it's all you need to master Python in-depth and tap its considerable power for virtually any software project. --Richard Dragan
Topics covered:
- Introduction to Python
- Basic system scripts with Python (including file and directory tools)
- Working with processes and threads
- Pipes and signals
- Sample scripts for system and Web utilities (including backing up files, program launching, replicating and managing directories)
- Graphical user interface design in Python (including the Tkinter module)
- Widgets and basic components
- Layout options
- Event handling
- GUI examples (including a working text editor, image viewer, and clock)
- Network scripting (sockets, FTP, and e-mail clients)
- Server-side scripting
- Sample server scripts for an online errata database
- Python on the Internet (including Zope, JPython, and XML tools)
- Databases and persistence in Python (including pickled objects and shelf files)
- Custom and built-in data structures in Python
- Text and string handling
- C integration with Python (including the SWIG module)
- Embedding Python calls within C
- Hints for using Python in real projects
- Reference to recent changes to Python
- Python vs. C++ quick-start guide
1 Poorly organized and not as good as the 1st edition
Yuck yuck yuck. I'm so unhappy. This book reads like it was written by a 10th grader and was surly was organized by a chimp. It's not organized in any logical manor. It covers some greatly important topics only briefly and then covers totally useless stuff in depth. It spends hundreds of pages talking about web applications. That might sound like an ok idea however most Python web application developers are using Zope for good reason, doing it any other way is silly. The book also talks at length about GUI programming however it never actually gives a proper theory overview to Tkinter so really all you're learning is how to make what Mr. Lutz has already done. As a Python veteran I'd avoid this book. If I didn't already know Python and I bought this I'd be Royal mad. Learning Python is what should be bought if you're a newbie but this book is a bear even for an expert. Avoid it!
2 Useless book
This book is totally useless. I can never find any information I was looking for. Get the Python Essential Reference instead.
3 A good Python book - can use organizational improvement
Here are the critisisms: 1) author's style of writing is somewhat convoluted. The material is not organized in any way that it can be referenced quickly. 2) there is large section on GUI programming that covers tk. How about wxPython? running a tk GUI means that your Python interpreter is calling the tcl interpreter which runs the GUI. THis can be slow. WxPython does not go through two interpreters, is cross-platform, and uses native GUI toolkit. He should have at least covered that a little bit. Otherwise the book is fun to read, and informative if you are at least a Python novice.
4 Great Guide to a very sweet language....
For those of you not aware of it, Python is an oddity as far as languages go, which in turn makes it one of the more powerful ones out there. It has the power of perl as far as scripting goes. You can use Python to write scripts to tweak your machine to your liking, make it perform certain tasks to update your system, etc. It Also interfaces with a large variety of GUI packages, Tk being the one explained in this book, but you are not limited to just this GUI interface. You have a choice between 5-10 GUI fronts that makes GUI programming a breeze. (though not as easy as VB/VB .NET).
Just to re-cap, Part 1. of this book deals with scripting, part 2 is GUI programming,
the next part deals with Network programming.
Python makes writing my own ftp client a breeze. It has a huge network library which is part of Python's Standard library. (after writing an ftp client in C, Python is a walk in the park).
Also covered in this book is how Python interfaces with databases, as well Integration, among a variety of topics covered in this book.
Did I mention that Python is fully portable? Windows, Linux, Unix; Intel/ Sparc, u can run your Python program without any problems :)
A few things of note.
If you're new to Python, I'd recommend trying "Learning Python" first.
If not, Python is an extraordinarily large language with an immense standard library for you to explore. the book walks you to a variety of little projects, so after learning the language, you'll have some fully functional programs to use (assuming you don't cheat and simply copy and programs from the companion CD).
5 Finding Info is a joke
This book appeared to have lots of potential and I'm sure there is lots of useful stuff in the 1200 odd pages. But finding anything in it is impossible. The index is almost non existant and hasn't helped at all.
Of course if you read faster than I do you might not mind browsing a page at a time through all 1200 pages.
As a reference manual it was a waste of money.
6 confusing
i am used to buying books from orielly since i find them very good (not only in the field of programing). this one however blow big time. it is not organized so that you can easly slid into the launguage and it is not build like any book teaching you how to use a program language (intruduction to loops etc.).
i gave up trying to use the book.
7 Faulted...
It could be a lot better-- I wouldn't recomend this book. If you need a Python refrence then go for Python Bible 2.1 or Core Python Programming.
8 not particularly useful -- unfocused
I was very disappointed with this book, expecting something along the lines of "programming perl".
For reference for experienced or advanced programmers, you're better off with "Python Cookbook" by by Alex Martelli/David Ascher or the excellent "python essential reference" by David M. Beazley.
If you're starting off with python, the manual pages and documentation bundled with python are way better.
This book tries hard to be a lot of things at once and comes short in each case. It's not a complete reference book, or a programming style book or a learning/tutorial style book.
9 Definitely worth a read
I had been relying on Beazley's "Python Essential Reference" as my primary guide to figuring out which Python functions to use for a particular task. It's a good, concise guide to have at hand, but didn't help much in teaching me how to solve problems with Python. Once I got my hands on "Programming Python", I instantly found the solutions I needed (like how to send an email when a program completes or how to transfer files between computers during program execution). This book is great! The examples (provided on CD) show exactly how to accomplish many typical programming tasks. Lutz's "Learning Python" is probably a better place for a novice Python programmer to start, however.
10 This Book Rocks....
I'm professional Java/Perl programmer. I'm beginning to understand why people don't write many books for advanced programmers.
I'm starting to learn Python, but I don't need to start with a book on Syntax. This book tells me exactly what I need to know to automate FTP, read HTTP files over the web, etc....
This is a great book for professional programmers...
11 Don't waste your time with this book
What I find intersting about this book is that at 1200+ pages (refers to 2nd ed), it offers very little. It is not a good book for learning Python, it is not a good book for advanced Python, it is not a good reference. The only thing this book does well is touch on almost everything related to Python, if ever so briefly.
12 A cure for which there is no disease
This is basicly a compendium of introductions to the various standard libraries which come bundled with Python. Despite the misleading title, this book assumes you already have a workin knowledge of Python and jumps straight into examples of library usage. Inexplicably, despite assuming Python knowledge, it doesn't assume you know certain basic computer concepts: near the beginning the book spends a couple of /pages/ on the topic of redirecting output to and from Python programs using your shell's standard redirection facility - and never makes it clear that this is a standard operating system feature, rather than a feature unique to Python. The pace of the various library tutorials is also excruciatingly slow for the experienced programmer, bloating this book to unwieldy size.
13 You want a book on learning Python? Buy...Learning Python!
I'm sorry I don't have the time to do justice to this excellent book. Maybe I'll write a longer review later. But if you're put off by the low ratings from the people who say, "This book is horrible for learning Python!", you should be made aware of the fact that O'Reilly has a separate book for learning Python. It's called _Learning Python._ Get a clue, folks, and quit bashing a *programming* book because it didn't cover the basics. I also want to note that in every single O'Reilly book I have ever picked up, the author(s) took the time to let you know what sort of background you would need in order to benefit from it.
14 It's everything it says it is.
I'm not really one for writing reviews, but after seeing quite a few people complain about "problems" with the book that have been guided by their own misconceptions, I felt I had to. Programming Python is great book, the only python book I have in fact purchased. It is the only python book I have seen so far that can not be replaced by python's excellent online documentation.
In short, some of the reviews complain that it is mistitled, a poor reference book, or a poor book to use to learn python. Lets look at the front page. The first thing that I see is "solutions for python programmers" and "programming python". I would think a reference manual would involve the words "reference" in its title. Flip a few pages and you'll see the author explain that this book is on ways to "use" python and assumes you already know the language fundamentals. Flip a few more pages and you'll see in big bold letters, "But It's Still Not a Reference Manual." The back of the book gives you a few more clues.
As far as I can see, everyone who has given this book a bad review didn't even give it one glance before purchasing it. The book covers everything it says it will, and does it well. I would recommend this book to anyone who already has a good base in python, or it willing to learn the fundamentals online to supplement the book. This book is, like the front cover says, on ways to use python after all.
15 It's everything it says it is.
I'm not really one for writing reviews, but after seeing quite a few people complain about "problems" with the book that have been guided by their own misconceptions, I felt I had to. Programming Python is great book, the only python book I have in fact purchased. It is the only python book I have seen so far that can not be replaced by python's excellent online documentation.
In short, some of the reviews complain that it is mistitled, a poor reference book, or a poor book to use to learn python. Lets look at the front page. The first thing that I see is "solutions for python programmers" and "programming python". I would think a reference manual would involve the words "reference" in its title. Flip a few pages and you'll see the author explain that this book is on ways to "use" python and assumes you already know the language fundamentals. Flip a few more pages and you'll see in big bold letters, "But It's Still Not a Reference Manual." The back of the book gives you a few more clues.
As far as I can see, everyone who has given this book a bad review didn't even give it one glance before purchasing it. The book covers everything it says it will, and does it well. I would recommend this book to anyone who already has a good base in python, or it willing to learn the fundamentals online to supplement the book. This book is, like the front cover says, on ways to use python after all.
16 Interesting, but useless
There's some fun reading and a few odds and ends to pick up, but overall, this book is horrible if you just want to learn Python. Keep looking, you're certain to find something better.
17 I really expected more.
Pythons greatest liability is poor reference books, and
this is the head of the pack (of the poor books). This
book might be useful to expand an experienced Python
programmers ways of using the language, but it is utterly
useless and frustrating to a person trying to learn the
language, and even worse as a reference. Learning Python
is scarcely better. The Python Essential reference is
the only Python book worth having. The online manuals
are actually pretty good.
My advice is to drop python and learn ruby!
the Ruby "pickaxe book" is a joy, too bad there
is no Python book like it!
Two stars are generous for this book.
18 not a great reference, nor sufficiently focused
I became suspicious the first time I saw a backslash.
I bought this book as an obvious analog of the excellent
O'Reilly Associates book "Programming Perl". That book
serves both as an excellent guide to its language and also
instruction on its application. Python promised to clean
up a lot of Perl's clutter, and so I had high expectations
for this book.
...Lutz's book has been a disappointment.
First, it's obsolete. Most of the examples are 1.52, and
many of the ways of doing things in that version are no
longer rational under 2.3. Python 2 issues are
generally addressed in footnotes or sidebars. Python's
a moving target
(the meaning of something as simple as "1/2" was just
changed, for example), so instant obsolence of printed
matter is inevitable.
But the book would be worthwhile if the programming examples
were really compelling. But while the coding uses solid
style, I don't think the examples are carefully enough chosen
to succinctly communicate the message. Really -- it's too long.
And the index is insufficient to allow one to find focused
examples on particular issues.
And back to that backslash thing. The book has a clear
DOS/Windoze focus. Linux/Unix is also discussed, but the
book spends too much time on DOS limitations for the taste
of someone who works in a more POSIX-friendly environment.
For learning the language, I recommend the Python
web site. For something to read when you can't be near
a terminal, there has to be a better option.
Dan
19 Don't buy this book if you're an experienced programmer
This book seems to be geared at newbie programmers. If you're an experienced programmer seeking to add another language to your stack don't buy this book. It won't teach you a lot. You'll try to find an answer to your how-do-I-do-this-in-python question in the 1000+ pages and odds are you won't find it. Get a reference manual instead.
20 A great book, but aimed at a very specific audience
I am just getting into this book, but it is exactly what I need. I, like another one of the reviewers here, started off with Core's Python book, which, while great to get me into the language, was no help when it came to very complex tasks. This book is ideal for someone who already understands OOP, as well as the general syntax of Python, but has no experience creating serious applications. Core's book taught me the syntax, and helped me write a few useful scripts, but I found myself in the online documentation for hours when I wanted to do something slightly obscure. This book bridged the gap, by presenting a view of Python that was easy to read, yet was tied very closely to the official documentation. Yes, perhaps for a programming veteran, the online documentation is enough, but for those not quite sure what they are looking for there, this book bridges the gap beautifully. This book convinced me in the first 50 pages that I needed to start using objects, something the entire Core book was unable to do. I knew a bit about every concept in a programmers vocabulary before reading this book. Know I know how to use them in Python. It does have a very specific audience, but reading the first ten pages will tell you that.
21 Not particularly useful
While inevitably there will be some who find Lutz' Python books useful, I did not. Coming from a reasonably broad background in programming languages from assembly language, to Pascal, Fortran, C/C++, Awk, Perl, and a few others, including Forth-like oddities such as Postscript and, well, Forth, I found Mark Lutz earlier two books on Python to be either pedantic and uninteresting, or superficial and uninteresting. Neither provided much in the way of insight into the nature of the language, or a good feel for its capabilities. Subsequently, I gave both of my Lutz' volumes to a friend who expressed an interest in Python, with a warning that I did not find them particularly helpful or interesting. By contrast, the python.org web site has excellent tutorials and online documentation, and I am also quite pleased with Beazley's "Essential Python Reference".
22 Not Pleased
Do not buy this book if you want to learn about python. It is not useful as a python reference, or python tutorial. It is basically a tutorial on various other topics eg: system programming, GUI programming and networking which just happens to use python as it's language of choice. If you want to learn about these things then this might be a worthwhile buy. But you will need to be prepared to put up with Mark Lutz's long winded (and to me very annoying) writing style. If you want to learn this (fantastic) language, my suggestion is to print out the docs on the official web site. They're good.
23 Good coverage of Python applications
I knew the python basics and bought this one to get a feel of python applications.
I used Core python programming which badly lacks advanced examples though it does a good job of explaining the basics.
Started off with python-GUI coverage of this book and i found it to be excellent. It's covers all application of the language in-depth! Buy this but make sure that you know the language basics first. This has been made clear by the author too right in the beginning.
24 Only useful if you already know Python -- maybe.
I was quite disappointed when I realized that this book was not going to teach me Python.
It is made very clear, very quickly, that the audience is expected already to be familiar with the actual language (its syntax, its runtime, its class system, etc.). My difficulty is not due to a lack of programming experience, programming is what I do. The information simply is not in the book, as its introduction makes plain. The authors appear to hope not to cannibalize sales of their other title, Learning Python.
So who should be buying this? It's just not clear to me. The first section spends most of its time explaining things like piping and stdio -- that is, things that have everything to do with the host OS and little or nothing to do with the Python language. Surely a somewhat experienced Python programmer should already know such things, or at least should expect to learn them from another book. Can't tell you about further chapters, I've put the book aside for now.
Hopefully David Beazley's Python Essential Reference will be more useful.
25 Somewhat dissapointed
I read the whole book and I am a relatively good Python coder, so this is not just some "quick impression" of the book, which is what some of the previous reviewers seem to be doing.
The author is indeed knowledgeable about Python, but there is something wrong with his writing style and presentation. The sample source code is useful and shows how to do useful things in Python, but the writing is not clear and seems long winded and pointless at times. Often the author will simply say something like "I won't elaborate any further, just read the source code yourself".
If you are already an experienced Python developer, then you might find the real life sample application presented here useful, otherwise this is not quality technical writing. Part of the problem is that the author is trying to present "real life" code, which course can be somewhat messy, so his organization seems less than optimal.
If you want to learn about Python, try "Core Python" by Wesley Chun.
26 I can no longer complain about documentation
I love Python more than even Quake, but have complained to friends about difficulties finding documentation good enough to get through my particularly thick skull. Now I'll have to find something else to complain about, because this book (as well as a few others out now) address this concern.
I consider myself a Python newbie and haven't even mastered the entire language yet, but this book had me coding CGI in one session, and actually understanding what I was doing. If you are new to programming and looking for a starter book, this isn't it. But if you have a fair understanding of Python basics, you may find this book to be a really great advanced tutorial on how to use Python for all sorts of programming tasks.
27 Very Impressive
Having come from the land of Perl I was a bit nervous about learning Python. I cannot imagine how a book could be more thorough than this one. Although it is lengthy (1200+ pages), there are hardly any topics that it does not cover. I was particularly interested in the way GUI programs are used throughout the book. My bible, the Camel book, does not approach it this way. Overall, a great resource for anyone wanting to learn Python.
28 Promising....
I found "programming Python", 1st edition, from Mark Lutz, difficult to read...its strengh: it was the most complete book at the time it was written. The 2nd chapter, which was intended to be a 'sneak preview of Python' or 'a view from 10.000 feet' was very long, and tedious to understand.. I guess that 10000 feet, it's too high for my poor stomach. There were even backward references to this chapter from many other chapters... The other pb was the organization... difficult to look up things, and it was the same example which was extended all along the book. But it was not intended to be a reference book...rather a 'linear book'.
The second edition seems to be better organized, but once again, Ive just read a small fraction of it (it's 1200 pages long... i guess it will take a month at best). Anyway, it is stated in the introduction that it is still not a reference book. The book presents Python's libraries, tools and programming techniques. Its aim is "how to use the Core language in applications." So, there are many big examples... in fact, it took Mark 2 years to write these ones(PyDraw, a paint program, PyEdit : a text file Editor, PyCalc, PyMail, PyClock...etc..) The book is therefore intended for those who already know the Core Language and want to see some real applications using it... the book was refocused, since the 1st edition, and it is not aimed at beginners (it's why it's better to read the 'learning Python' book first). I find it to be a good sequel of the online tutorial, if U already have some background in programmation, and want how to use Python.
I was happy to see that 'The view from 10000 feet' was removed, and chapter 2 is now fun to read, because it presents the libraries, so it's not so steep,....so, good work, Mark! I ve only read 3 chapters up to now but it seems very promising.. Maybe it's too thick for a Python book ? Life is short !? But i think it's still the most complete book about Python...
29 Disregard all previous reviews
The reason for my bold assertion that you should disregard all previous reviews is that they refer to the first edition of the book. This second edition has been completely rewritten and is almost entirely a different book. I understand it is more clearly focused at experienced programmers, preferably with some knowledge of Python already. I've only read the sample chapter available on O'Reilly's website, but if the quality of the rest of the book is as high, then I reckon it will warrant the 5 stars I've awarded.
30 Good book & Python doesn't "stink"
The book is a good reference for programmers familiar with Python or other languages. To correct a previous post by another writer:
1. The Python interpreter and IDE take care of indentation automatically for the programmer, so whether or not two spaces represents an adequate indentation is a moot point. The result is code that is easy to follow.
2. Python does include a generalized FOR loop; one uses it by including the RANGE statement in the declaration of the loop.
3. Python does include some very easy ways to determine to which class a method belongs: namely, the ISINSTANCE() and ISSUBCLASS() functions which are included in Python's built-in module.
Java and Perl are useful languages; Python is an attractive alternative to both of them. I have built several applications with Python and found it to be a great language for building apps quickly and for teaching programming to beginners. Python can even be compiled to Java bytecode, allowing a programmer to build Python programs and Java apps. If you're a programmer who is curious about Python, give this book a try.
31 computer science takes a major step backwards
I gave this book two stars only because the author clearly put a great deal of effort into writing it. The effort is wasted, though, because Python stinks. (I'm capturing my thoughts here for now until I submit a more tersely worded editorial to IEEE >>Computer<<, where I referee on, among other topics, programming linguistics.)
Why does Python stink? Here are but a few reasons:
1. It relies upon indentation, not meaningful artifacts such as {} or begin-end or do-done, to delimit the range of compound statements. This is handy for rough-and-ready scripting at an interactive terminal but dreadfully irresponsible and error-prone for lengthy, permanent programs that live in disk files. Come to think of it, is two tabs more deeply indented or less deeply indented than seventeen spaces? Where is this documented? Why should white space, usually negligible, be lexically significant in certain contexts; and why should lexical analyzers run afoul of issues (such as mapping tabs to spaces) that are typically dealt with by the "line discipline" subsystems of tty device drivers? GIVE ME A BREAK!
2. It lacks the generalized for( init; test; reinit ) loop, which is an astonishing oversight. Every language that I can think of that was invented after 1969 offers one.
3. For a purportedly OO language, it offers no _easy_ way for me to determine to what class an object belongs. I suppose I can hack it up with those double-underscore-bracketed attribute names, but I should be able to say:
if O is instance of class1 : stmt
unless I want to write a function that compares the [0:0] slice of the object (which, by the way, fails for scalar objects) against [], (), {}, etc., until it finds a match.
Oyez, oyez: Not only does Python offer nothing new; indeed, it indulges laziness at the expense of rigorous, quality-minded software engineering. It smacks of "BC with classes" (for those of us who have been on UNIX long enough to remember the days when BC was touted as a realistic tool). Don't keep up with the Joneses this time; don't chase after this pathetic excuse for a programming language. Stick with Java, and deal with its dearth of string-matching functionality; or stick with Perl, and deal with its syntactic sensory overload.
32 Good introductory text, poor reference text
Given the title, I was expecting a reference book something like the excellent "Programming Perl" (HIGHLY recommended). I was disappointed - this book is obviously not intended to be used as a reference. It may serve well as a lengthy introduction to Python to beginning programmers, but I find it incredibly frustrating.
33 Poor organisation, Great content.
If you thinking of using this as your first Python book, forget it. The structural organisation of this book is not that great, although contentwise it is complete. Because of the poor organisation, I would recommend reading a more organised book first e.g, Learning Python by the same author. Only then can you get the most out of this book, otherwise you will be very confused and frustrated within the first few pages. That said, this book will take you to Python gurudom if you manage to work through it.
I think the author needs to be given credit for releasing such a bible of information in this world starved of Python books!!
34 Long Road to a Small House
Like so many reviewers here, I was disappointed in this book. I did think the introduction showed promise, but the book moved along so tediously, I kept finding myself saying "yea, yea, yea---get on with it already!"
I wish Mr. Lutz would keep in mind that a reader can re-read a point not understood the first time around; it's really irritating to have the author repeat and repeat and repeat the same damn point over and over.
Perhaps this point bears repeating. Just kidding, but if I wrote like Mr. Lutz I would assume you didn't get it the first time around and make you suffer through three renditions of the same litte essay.
Oh, for the straight forward exposition of Kernighan and Plauger or the subtle wit of Larry Wall---now those guys can write!
35 Thick book, somwhat chaotic
Python is a great programming language and Mark Lutz did a lot for it, by writing this big textbook. Still, I would have wished the book to be more systematic, especially having chapter titles which later on helped me to find things again. In his next book: "Learning Python" he implemented more logic:-)
36 Poor show from the Nutshell guys
I really like the O?Reilly books - I work as a professional programmer and the number of times they have helped me out is countless. That made this book all the more disappointing.
The style is all over the place - halfway between the "Dummies" series (which are very good - in their place) and the traditional O?Reilly "for programmers, by programmers" style. While I wouldn?t carp about style of a technical book if it were at least clear unfortunately the prose here is so bad it makes the book almost impenetrable. I just couldn?t get the hang of the language from this - and wouldn?t advise others to try. There have got ot be easier ways than this to learn.
Tom
37 Not a good place to start
This is one of O'Reilly's worst books.
In the introduction, where Mark is giving a demo the Python language, he gives Programming examples without explaining the constructs the programs use or how they achieve their goals in terms of those constructs. It is impossible to understand the points he is trying to make.
The editing of the book is just plain sloppy. The beginning is not what a beginning should be and I am so put off by the beginning I hesitate to read the rest of the book.
I'm not sure why O'Reilly let this book get to press. Most of the books I have from them are excellent.
38 poorly organized introduction to python
I thought this would be similar to Programming Perl, both a good introduction to the language *and* a decent reference. Unfortunately, it does neither task well.
It fails as a reference because 1) it is poorly organized: information on each concept (printing, for example), is scattered throughout the book; 2) the index is atrocious. There is no way to find the key description of any part of the language using the index, and I often find important concepts in the book that are not in the index.
The poor index, combined with the scattered organization, means I'm constantly frustrated when I want to look up some particular element of the language.
As an introduction, the book is OK. I would have liked to see some meatier code examples. As another reviewer mentioned, the examples are more about the syntax of the language than actual applications that you might learn from. This is a style point -- if you learn best from large chunks of example code, this is not the book for you.
Also, key modules (sys and math, for example) are barely mentioned.
--Pat / zippy@cs.brandeis.edu
39 Intended for non-programmers.
As a professional programmer, I have always been pleased with the quality of O'Reilly titles. Unfortunately, this book was my first disappointment. The tone of the book is that of an introduction intended for non-programmers. In terms of actual hard, factual information, this book leaves a lot to be desired. I would perhaps recommend it to anyone needing to learn Python with no other programming experience, but definitely not to anyone else.
40 Nutshell? What kind of tree was that?
Okay...for the hard-core, knowledgeable programmer, this is book will be annoying--it takes you through the basics of programming, OOP and so on. The sagacious hacker will know all of these things. Good for you.
For the rest of us, this book is a God-send. I, for one, am a failed programmer--I've poked at C, C++, VBA, VB...all to no avail. It was all a tad too confusing for me.
Programming Python, however, showed me how this all works and--added to Learning Python and the Python Pocket Reference--I'm set. There may be some other small features not included in these books, but I'll worry about them when I get there.
For those of you that are already there--why are you using Python in the first place?
41 A good introduction, but not a reference
A good book if you work through it in order to learn the language, but not much good as a reference -- it's quite hard to find information. I'd like to see the Python manuals polished up and printed.
42 Great book about Python and programming
This is easily one of the best programming books ever written, and a great introduction to both Python and object oriented programming. As its preface says, it's more of a tutorial than a reference manual, but reference books and manuals can be found elsewhere if desired.
43 Poorly organized, poorly indexed, poorly presented Python
While I love the language and was hungry for documentation this wasn't it. The docs that come with the language are easier to follow. As an earlier reviewer points out, you can't find what you need when you need it. A 900 page book with a 14 page index isn't much of a reference manual.
44 Should be called "Learning Python", not "PROGRAMMING Python"
When I saw the title of this book, I was anticipating something along the line of ORA's excellent "Programming Perl". "Programming Perl" is a great reference that catalogs language features and programming idioms in a concise, easy -to-find manner.
"Programming Python" leaves much to be desired. While it is an excellent tutorial introduction, it is not of the same caliber as my well-worn copy of "Programming Perl". It is designed to be read through, not used for reference. It is exceedingly hard to locate information in a hurry, and many language features were not even documented any place I could find (for instance, class destructors).
A good book, but a misleading title.
45 Python rocks!
Fine book, fine author. Prior to reading Mark's book, I had many difficulties with even the most basic OO concepts. Not only did Mark teach me Python, he also made OOP as crystalline as possible.
Highly recommended reading for all hackers.
46 very good book
lets face it o'reilly books are hard to beat. this book is great and really turned me on the python. the one thing that i found very dissapointing about "programming python" was that it only included one (!) example of a python cgi.
47 Fantastic
This book is simply fantastic. Made me realise the benefits of CGI Programming with ease. The examples are very good, and also makes excellent reading.
48 Good intro and reference for experienced programmers
This book takes one case study and shows how different features of Python can be used to enhance the evolving program. It would have been nice if the book had more reference and less case study. Still the best place to start with Python.
49 Best book on python that's out
Python is a high level scripting language, that's fully object oriented. This is the best book out about this powerful scripting language. If you want the power of PERL, but don't want the learning curve, then Python's for you.
50 very good introduction and reference
(For the full review, see
Doctor Dobbs Journal) I hope that Programming Python will help win Python many new converts. Like most O'Reilly & Associates books, it is well written, superbly edited, and informative. Lutz introduces the Python language and its major libraries (of which there are many), and shows how to embed Python in C and vice versa. There are many example programs, all clearly explained, and a CD-ROM with the whole Python release for Windows, Macintosh, and UNIX.
51 Complete, and easy-to-read; excellent tutorial/reference
This is a really great, complete, and easy-to-read book;
Mark's tutorials keep you going at a good pace (not too
fast, not too slow), and his reference material is complete
and correct. "Programming Python" is a fantastic
introduction to this programming language; useful for
writing CGI programs, whipping up a prototype user-interface, processing text, writing games, etc. Python is a very versatile language, and "Programming Python" will turn you into an expert.