Product Details
Beginning Python: From Novice to Professional (Beginning: From Novice to Professional)

Beginning Python: From Novice to Professional (Beginning: From Novice to Professional)
By Magnus Lie Hetland

List Price: $44.99
Price: $40.49 & eligible for FREE Super Saver Shipping on orders over $25. Details

Availability: Usually ships in 24 hours
Ships from and sold by Amazon.com

41 new or used available from $13.49

Average customer review:

Product Description

Beginning Python: From Novice to Professional is the most comprehensive book on the Python ever written. Advanced topics, such as extending Python and packaging/distributing Python applications, are also covered.

Ten different projects illustrate the concepts introduced in the book. You will learn how to create a P2P file-sharing application and a web-based bulletin board, and how to remotely edit web-based documents and create games.


Product Details

  • Amazon Sales Rank: #142962 in Books
  • Published on: 2005-09-26
  • Original language: English
  • Number of items: 1
  • Binding: Paperback
  • 640 pages

Editorial Reviews

About the Author
Magnus Lie Hetland is an associate professor of algorithms at the Norwegian University of Science and Technology, NTNU. Even though he loves learning new programming languages--even quite obscure ones&emdash;Magnus has been a devoted Python fan and an active member of the Python community for many years, and is the author of the popular online tutorials "Instant Python" and "Instant Hacking. When he isn't busy staring at a computer screen, he may be found reading (even while bicycling), acting (in a local theater group), or gaming (mostly role-playing games).


Customer Reviews

Not exactly the best first book to use4
I'm a little surprised to see such great reviews for this book, especially those reviews that claim this is the book you should start out with for Python. Granted, it all depends on what your background is, but I feel like if you know nothing about Python (even if you know another language), then this isn't the best book to start with.

Thus far I've read two Python books: first, Learning Python; and second, Beginning Python (this book). Learning Python should, without a doubt, be the book to start with. It teaches Python from the ground up so that not only will you know how to write a function or a class, but you know what exactly is going on behind the scenes when all this is happening (but not in so much detail as to be over the heads of newcomers). Beginning Python, on the other hand, contains very cursory introductions to each element of Python. The core language is presented in the first 200 pages, each chapter being around 20 or so pages. After the first 20 pages, you are already introduced to functions and modules! Eventually these topics are covered again, but this book just moves too fast for a beginner.

I suppose someone who is already a programmer will be able to pick up quickly on this fast-paced introduction, but even that person will be at a loss for how Python is working under the hood. Beginning Python doesn't even spend much time explaining how all Python 'variables' are only references to an object, and never contain the object itself. This is a fairly simple idea to grasp, but the consequences are so important that it really needs a somewhat lengthy section of its own (that's just an example of how the book moves too fast).

But still, it's not a *bad* book. It was great for me because it served as a quick review of what I had already learned (more thoroughly) in Learning Python. Furthermore, later chapters discuss some of the more popular and effective third-party modules (i.e. py2exe, Beautiful Soup, wxPython) but again, not in very much detail. Each of these chapters is about 10 pages.

Finally, there are the 10 projects at the end of the book. I've only read the first one of these so far. They seem fairly involved, and probably require a little more experimentation with the language before tackling.

Overall, my opinion is this: Learning Python should be the first book anyone reads on the subject, especially newcomers to the language and hobbyist programmers, but even experienced programmers need that book. Beginning Python is a great review of the material because it moves through it quickly, but it is *not* a good introduction for exactly that same reason.

The strongpoints of this book are that it exposes you to a wide variety of standard and third-party modules, so that after you have read the later chapters, you will at least know where to go for further information for just about any project you can think of.

Get comfortable quickly in a great language5
Beginning Python is loosely grouped into three main sections. The first deals with Python fundamentals, all the goodies that are inherent to the language and the modules that it ships with. It's surprising to see how rich the language is out of the box, especially when compared to some other scripting languages. The second section would be the chapters covering popular extensions for a variety of services. These include network and web programming, SQL objects, and even GUI programming. And finally the third section is a set of 10 projects in Python, which bring everything together in a concise fashion.

I like this book a lot because it is very clear in its delivery, both the prose and the code examples used, and is consistently Pythonic. The Python language lends itself to a powerful programming style and, unlike Perl, many Python developers I know don't bother with a dozen ways to perform a simple action, they get it done and move on. What you wind up with is clear code that's easily understood by someone new to the language.

Unlike what the title would suggest, Beginning Python isn't only for the first few weeks with the language. The book is large and in depth, and the coverage of material is fantastic in many ways. You get a quick tour of the basics and then you move on to an overview of the language and then its common features. The inclusion of the 10 projects is another benefit to the intermediate user. She can refer back to this book for additional information and pointers from time to time, it wont sit still on her shelf.

That said, there are a few things in the book that I tend to disagree with. For example, the author dissuades you from using destructors in your code, but in my experience they're far more reliable, and a better place to do some cleanup, than he states. A few chapters are also a bit skimpy when they didn't need to be. For example, Chapter 18, which covers packagers like the distutils component from Python, needed to be fleshed out a lot more. This is a powerful feature in Python and sound docs on it should just be there. There's no reason to hold back on something so vital. The section on profiling in Chapter 16 is also a bit thin around the middle when it needn't be. While this seems like a minor point, having a reference to speeding up code (and measuring the improvements) is always nice. And finally, Chapter 17, which covers extending Python, is simply too short for its own good. A more in depth example would have been appreciated.

I have begun recommending this book to people I know that are smart and program in other languages, but aren't very familiar with Python. Many beginners books only take a person so far before they become a useless item on the shelf. This means that he $30 or more that was spent is now gone, so I've grown to be observant of how long I expect a book to be useful. I anticipate the useful shelf life of Beginning Python will be longer than average for most general purpose programming books for a single language. What's more is that it's not a dry reference book. Couple this to a Python cookbook for recipes and you have a two volume "mastering Python" series.

If you've been curious to learn Python and haven't yet found the book that speaks to you clearly, this may be the one. I'm pleased with the quality of the writing, the examples, and the quick pace of the book. While it's nearly 30 chapters in length, most of them are short and focused, making them easily digestible and highly useful. Overall probably the best Python books I've had the good fortune of reading."

Best tutorial for programmers5
If you already know a programming language and want to learn Python, this is your best bet. I used to recommend "Learning Python", but this is better.

Of course, the online tutorial is the best place to start, but eventually you'll want to learn the juicy parts of Python, especially generators and co-routines (the "yield" statement). This book does a very good job of explaining those concepts.

The downside of this book is that it goes too far. You really need only half the book. Then you can go to the web to learn specialized libraries. It's still worth the price though.

If you don't consider yourself a good programmer, or if you only know a simple language like Visual Basic, then "Python for Dummies" is a very easy read.

If you consider yourself an excellent programmer and want a paper tutorial, consider "Python Essential Reference", which includes a very terse introduction.