Penguin CPU: Cool computer stuff   In association with Amazon.com
Categories
Athlon
Computer Cases
External Drives
Graphics Cards
iMacs
Intel
iPods
LCD Displays
Linux
Linux Books
MacBooks
Mac Games
Mac Mini
Mac Pro
Mac Software
Memory
Motherboards
O'Reilly Books
OS X
OS X Books
Photography
Unix Books
Other Penguins

Penguin 64

Penguin Audio

Penguin Videos

Penguin Cameras

Penguin Kitchens

Ads
Gluten Free Pancake Mix we make waffles with these mixes

Cell Phones Find it at Boolean Sales

Videos about Celiac Disease we filter YouTube for you

We have Batman Costumes at BestCostume.info

Ads by Steve

Learning Python: Powerful Object-Oriented Programming

Learning Python: Powerful Object-Oriented ProgrammingAuthor: Mark Lutz
Publisher: O'Reilly Media
Category: Book

List Price: $54.99
Buy New: $34.64
as of 9/9/2010 14:17 CDT details
You Save: $20.35 (37%)



Seller: Amazon.com
Rating: 4.0 out of 5 stars 158 reviews
Sales Rank: 4219

Media: Paperback
Edition: 4th
Pages: 1216
Number Of Items: 1
Shipping Weight (lbs): 3.4
Dimensions (in): 9.8 x 7.4 x 1.9

ISBN: 0596158068
Dewey Decimal Number: 005.133
EAN: 9780596158064
ASIN: 0596158068

Publication Date: September 24, 2009
Shipping: Eligible for FREE Super Saver Shipping
Availability: Usually ships in 24 hours

Features:
  • ISBN13: 9780596158064
  • Condition: New
  • Notes: BUY WITH CONFIDENCE, Over one million books sold! 98% Positive feedback. Compare our books, prices and service to the competition. 100% Satisfaction Guaranteed

Editorial Reviews:

Amazon.com Review
The authors of Learning Python show you enough essentials of the Python scripting language to enable you to begin solving problems right away, then reveal more powerful aspects of the language one at a time. This approach is sure to appeal to programmers and system administrators who have urgent problems and a preference for learning by semi-guided experimentation.

First off, Learning Python shows the relationships among Python scripts and their interpreter (in a mostly platform-neutral way). Then, the authors address the mechanics of the language itself, providing illustrations of how Python conceives of numbers, strings, and other objects as well as the operators you use to work with them. Dictionaries, lists, tuples, and other data structures specific to Python receive plenty of attention including complete examples.

Authors Mark Lutz and David Ascher build on that fundamental information in their discussions of functions and modules, which evolve into coverage of namespaces, classes, and the object-oriented aspects of Python programming. There's also information on creating graphical user interfaces (GUIs) for Python applications with Tkinter.

In addition to its careful expository prose, Learning Python includes exercises that both test your Python skills and help reveal more elusive truths about the language.

Product Description

Google and YouTube use Python because it's highly adaptable, easy to maintain, and allows for rapid development. If you want to write high-quality, efficient code that's easily integrated with other languages and tools, this hands-on book will help you be productive with Python quickly -- whether you're new to programming or just new to Python. It's an easy-to-follow self-paced tutorial, based on author and Python expert Mark Lutz's popular training course.

Each chapter contains a stand-alone lesson on a key component of the language, and includes a unique Test Your Knowledge section with practical exercises and quizzes, so you can practice new skills and test your understanding as you go. You'll find lots of annotated examples and illustrations to help you get started with Python 3.0.

  • Learn about Python's major built-in object types, such as numbers, lists, and dictionaries
  • Create and process objects using Python statements, and learn Python's general syntax model
  • Structure and reuse code using functions, Python's basic procedural tool
  • Learn about Python modules: packages of statements, functions, and other tools, organized into larger components
  • Discover Python's object-oriented programming tool for structuring code
  • Learn about the exception-handling model, and development tools for writing larger programs
  • Explore advanced Python tools including decorators, descriptors, metaclasses, and Unicode processing



Customer Reviews:
Showing reviews 1-5 of 158
1 2 3 4 5 6 ...32Next »



2 out of 5 stars Wordy, repetitive, disorganized, with at least one inexcusable error at teaching OOP   August 30, 2010
The Language Techie (San Francisco, CA USA)
I don't understand why 5-star reviews have the highest number for this book. A lot of the 5-star reviews are one-liners that simply say "this book is great" without giving concrete reasons.

I want to echo other reviewers' comments that this book is wordy, repetitive, disorganized. That is so true when I tried to learn Python from this book. After hundreds of pages, one still can't write a small program with functions and control structure. That is simply ridiculous.

I thought my biggest problem with this book was its verbosity, but now i knew that the biggest problem is that it gives the impression of completeness in introducing OOP with the 200+ pages (longest of all introductory Python books), yet it manages to omit one important topic in OOP: the built-in super() function.

On page 654:

Person.giveRaise(...)

This is where the super() function can be first introduced to improve the hardcoded class name Person, like this:

super(Manager, self).giveRaise(...)

or like this in 3.x:

super().giveRaise(...)

But the author did not mention it.

Again in page 659:

Person.__init__(...)

This is the second place where the super() function can be introduced to improve the hardcoded class name Person, like this:

super(Manager, self).__init__(...)

or like this in 3.x:

super().__init_(...)

But the author again failed to introduce it.

In calling a method or the constructor of a superclass, this use of super(...) instead of hardcoding class name ("Person") is indisputably the correct way of using OOP in Python. After all, one benefit of OOP and a general principle of software design are not hardcoding things to avoid maintenance problems.

Yet, in the remaining 150+ pages of OOP coverage since page 659, there is absolutely no mention of this correct usage of super(), and the hardcoded Person.__init__(...) was left as the final, ultimate, "good" way of calling superclasses's constructor, in the opinion of the author. For example, in a later OOP chapter, Chapter 30 (page 739), the author continued to use hardcoded superclass name like Employee.__init__(...) to demonstrate how to call superclass constructors. At this point, his ignorance of the correct usage of super() is evident.

The author at the beginning of Chapter 27 said that he will teach beginner OOP programmers step by step how to actually code OOP correctly instead of just understanding OOP on paper, and he indeed gave an actual coding example using the Person and the Manager classes, from step1 through step7 to gradually improve it (from the bad way to the good way), but alas, he omits the super() usage in the end, which is the only good way. His attempt at teaching OOP clearly failed.

This is an inexcusable omission of OOP in a book that spends 200+ pages on OOP and covers more advanced OOP concepts than super(). the super() built-in function was introduced in Python 2.x, and is later improved in 3.x. Its omission in this book really boggles me.

See how some other superior Python introductory books and reference books deal with super():

The Quick Python Book (Ceder): half page coverage, but better than nothing.
Programming Python 3 (Summerfield): super() used dozens of times in this code-filled book, and called out in index 7 times.
Beginning Python - From Novice to Professional (Hetland): super() clearly mentioned in 3 pages, and its history from 2.x old-style class to 2.x new-style class to 3.x super() is clearly mentioned too. The author also recommends the 3.x argument-less super() in a sidebox for good reasons.
Python Essential Reference (Beazley): super() appears in 3 places: code example in OOP chapters, built-in function reference section, and "what's new in 3.x" section. In the built-in function reference section, the with-argument version of super() is clearly explained.



3 out of 5 stars Too wordy and not enough exercises   August 25, 2010
Steve E. Chapel (Ann Arbor, MI)
1 out of 1 found this review helpful

Learning Python is written by an expert in Python training, and it shows. The author fully explains each language feature, pointing out common mistakes beginners make, and explaining the finer points repetitively. The author carefully details the inner workings of Python from the ground up, explaining in great detail how objects are combined to form expressions, which in turn form statements, which are packaged as functions in modules.

The problem with this approach is that it's only until part III of the book, at about page 300, that the reader finally has enough information to write useful programs. Worse, there are not enough programming exercises for the reader to practice all of the nuances that are explained so carefully again and again. The result is that it's hard to apply the theoretical knowledge about Python learned from the book into the practice of writing Python programs, and without writing code it is difficult to retain the information presented in the book.

The book should have fewer explanations and more exercises, because the experience of writing code will drive home a point more thoroughly than explaining it many times over. While reading the book, I started working on problems from Project Euler and the Python Challenge to help me solidify the knowledge I was tenuously grasping from just reading the numerous and tedious explanations. This practical programming experience helped, but I would have preferred the author to give exercises that were crafted specifically to clarify the subtleties of the book's explanations.

Perhaps the best aspect of the book is that it covers all the basics of Python as well as a few advanced topics. One of the problems with O'Reilly's books for beginning Perl programmers is that basic material is split over multiple volumes. Although this is not a cheap book, at least it covers enough material to be worth the cost. It covers all the basics of the language Python, although it does not cover commonly used libraries, such as the regular expression library.

This is a well written book with very clearly written and detailed explanations, and those who read it and do the exercises will be able to program in Python. I'm not sure how many of the explanations will be retained by readers who do not carefully put into practice the nuances of Python right after reading the book.



5 out of 5 stars Good book   August 17, 2010
Rev
0 out of 4 found this review helpful

Arrived on time and in good condition. The book has the information needed for a class next year. It is well written.


5 out of 5 stars Very nice book   August 2, 2010
Angelo
0 out of 2 found this review helpful

I'd recommend this book to beginer and intermediate user. It covers not only examples but also mechinisms of python.


2 out of 5 stars Must have been paid by the word   July 15, 2010
HDBCoder
3 out of 3 found this review helpful

I bought this book because I was starting a job that required Python programming. In the past, I have always been impressed by the usefulness of O'Reilly's books. But now, I am boycotting O'Reilly because of this book. The book is physically enormous - almost too big to even read effectively. The book is verbose, chatty, and anecdotal - but does is spell out the language in a manner that a highly trained and experienced programmer can make use of - NO! I am still stunned at how useless this book has proven to be, and I get mad every time I see it on my desk. I have been unable to answer a single syntax question using this book - instead I go straight to the Python reference manual online. Save your money, and your bookshelf space for something you can either use or at least enjoy!!



Showing reviews 1-5 of 158
1 2 3 4 5 6 ...32Next »


CERTAIN CONTENT THAT APPEARS ON THIS SITE COMES FROM AMAZON SERVICES LLC. THIS CONTENT IS PROVIDED ‘AS IS’ AND IS SUBJECT TO CHANGE OR REMOVAL AT ANY TIME.