Best Books of the Month Shop Costumes Learn more nav_sap_plcc_6M_fly_beacon $5 Albums All-New Fire TV Stick with Voice Remote Grocery Introducing Handmade New Kitchen Scale from AmazonBasics Amazon Gift Card Offer hog hog hog  Amazon Echo Starting at $49.99 Kindle Voyage UnchartedBundle Shop Now STEM Toys & Games

Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.

  • Apple
  • Android
  • Windows Phone
  • Android

To get the free app, enter your email address or mobile phone number.

Learning Python: Powerful Object-Oriented Programming 4th Edition

73 customer reviews
ISBN-13: 978-0596158064
ISBN-10: 0596158068
Why is ISBN important?
This bar-code number lets you verify that you're getting exactly the right version or edition of a book. The 13-digit and 10-digit formats both work.
Scan an ISBN with your phone
Use the Amazon App to scan ISBNs and compare prices.
Have one to sell? Sell on Amazon
Buy used
Condition: Used: Acceptable
Comment: Eligible for FREE Super-Saving Shipping!!! Fast Amazon shipping plus a HASSLE-FREE return policy means your SATISFACTION is GUARANTEED!!! Tracking numbers are provided with every order!!! A book that is readable. May have significant wear on the cover. May have significant notes or highlighting, be age darkened or missing the dustcover. May be a former library book. This item ships from our AR warehouse within 24 hrs.
Access codes and supplements are not guaranteed with used items.
39 Used from $2.32
More Buying Choices
10 New from $38.37 39 Used from $2.32

There is a newer edition of this item:

Free Two-Day Shipping for College Students with Amazon Student Free%20Two-Day%20Shipping%20for%20College%20Students%20with%20Amazon%20Student

Save up to 80% on Textbook Rentals Rent Textbooks

Editorial Reviews


As a book for programmers who want to learn Python, it does a very good job. The coverage is informative and well order; making it easy to find what you're looking for. Overall, if you do some work with Python, you will benefit from owning this book. " - Sam Smith, news@UK, March "This book is a good example of Python culture, in the clarity of its text as much as in the quality of its code. Anyhone working their way through it will have a solid foundation upon which to explore Python's potential. Highly recommended." - Ivan Uemilianin, CVu, October 2004 --Ivan Uemilianin, CVu, October 2004 --This text refers to an out of print or unavailable edition of this title.

Book Description

Powerful Object-Oriented Programming

See all Editorial Reviews

Like this book? Find similar titles in the O'Reilly Bookstore.

Product Details

  • Paperback: 1216 pages
  • Publisher: O'Reilly Media; 4th edition (October 12, 2009)
  • Language: English
  • ISBN-10: 0596158068
  • ISBN-13: 978-0596158064
  • Product Dimensions: 7 x 2.1 x 9.2 inches
  • Shipping Weight: 3.4 pounds
  • Average Customer Review: 3.2 out of 5 stars  See all reviews (73 customer reviews)
  • Amazon Best Sellers Rank: #177,110 in Books (See Top 100 in Books)

More About the Author

Mark Lutz is the world leader in Python training, the author of Python's earliest and best-selling texts, and a pioneering figure in the Python community since 1992. Mark can be reached on the web at

Customer Reviews

Most Helpful Customer Reviews

88 of 93 people found the following review helpful By Christopher G. Loverich on September 14, 2011
Format: Paperback
I avoided purchasing this book initially due to the length and negative reviews posted here. In hindsight this was a huge mistake. Here are some points to consider.

1. This is NOT a book for experiencd programmers. This is a book for novices who want to learn programming using the python language. If your coming from another language, try Mark Pilgrim's Dive into Python 3 or a python cookbook. If you are wanting to do something specific, find a topic focused introduction - e.g. Natural Language Processing with Python.

2. The length of the book is from the conversational explanations. Yes it is longer than, say, Mark Summerfield's Python 3: A Complete Introduction. But I can tell you from experience, it reads much, much faster. I find myself FLYING through this book, without having to re-read things seventeen times just to understand what is going on. Keep that in mind.

3. Most of the example code is very simple. Some have complained about this, but there is a very, very big advantage that is overlooked by most of these people - it is very easy to jump around to different sections and not feel lost. I tried doing that in another book and ran into "Remember the 100 lines-of-code example we started 3 chapters ago? We'll continue on with that to show how x function works." No thanks - I just want an explanation of function x please.

4. This book is focused (mostly) on Python 2. If your just starting out, Python 2 is what you need as of August 2011. Most 3rd party libraries and tools still work mostly (or exclusively) with python 2, and it will likely continue to be this way for some time (ex: Django does not support python 3 yet).
Read more ›
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
117 of 126 people found the following review helpful By Blue Cat on May 23, 2010
Format: Paperback
This book will teach you Python if you have a lot of patience and are willing to wade through many pages of text to get information. The author wastes a lot of ink stating things like "I'll introduce you to topic XYZ, but you will have to wait until a later chapter to go into detail." Or introducing a topic and then declaring it is outside the books (1216 page) scope. Here's an example from page 85:

"Text pattern matching is an advanced tool outside this book's scope, but readers with backgrounds in other scripting languages may be interested to know that to do pattern matching in Python, we import a module called re."

Pattern matching is a critical feature of any scripting language. I was surprised to see such an important topic thrown away.

The book is divided into sections. I've put page counts and a summary description of the content to further describe the glacial pace of the book:

Part 1: Getting Stared: Pages 1- 72

72 pages to tell you how to run a Python program.

Part 2: Types and Operations 73-258

186 pages to introduce Python types (strings, numbers, sequences, etc)

Page 3: Statements and Syntax - 259-392

If statements are not introduced until Part3.

At this point I gave up and started reading the online tutorial.
8 Comments Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
64 of 74 people found the following review helpful By ErikTrips on July 7, 2010
Format: Paperback
I am only about a quarter of the way through this volume, and I am fairly certain that this is the worst O'Reilly book I have ever encountered. Most of their beginning programming books I have found quite useful, usually providing exercises that help me to think more like a programmer and get a feel for what sorts of things the code I am learning can do. This book, however, will have you printing endless, monotonous variations of "spam spam eggs and spam" at a prompt. I am quite fine with the occasional reference to where Python got its name, but the author of this book seems to think it an excuse not to bother coming up with any real code or problems that one might try to solve with code. I have even looked ahead to the advanced topics section, and the examples are still relying on printing permutations of spam, eggs, and the number 42 to "demonstrate" functions, methods, and even classes.

There are no exercises in this book at all. There are only the barest hints as to what one might use Python for. Each feature is trotted out, given some variation of "spam" or 42 to work on (if you're lucky, maybe you'll get 42.0: a float!), and then the reader is told to consult the Python documentation and "experiment." That's it. No suggestions as to what direction you might like to go with your experiments. Beginning programmers will find very little that will help them to write useful code here. I know enough about programming to know how some of the constructs being mindlessly presented might be used in the real world, but I will probably not continue using this book to learn Python. I would not recommend it to anyone: there is not enough information about the nuts and bolts of programming for a beginner.
Read more ›
4 Comments Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
42 of 49 people found the following review helpful By Ender Aydin Orak on June 20, 2010
Format: Paperback Verified Purchase
I believed that so many people that write good reviews can not be wrong. But I was wrong, as everybody that write good reviews :)

First of all, I think author of the book has a prioritization and ordering issue. Any programming book that especially written for beginners has an ordering (data types, statements, expressions, collections etc.), but author mentions about every issue that comes in his mind regardless of being in an irrelevant chapter. For example, while mentioning about data structures in first chapter (and I think it should be a later issue), he mentions about operator overloading and garbage collection. And I think he can not handle the differences between Python 2.6 and 3.0 in a clear and tidy way. Expressing every difference between each release on every expression, structure or definition causes losing the focus on the real information. I prefer he would write the whole book on Python 3.0, cause anybody that buys this book now on would probably use Python 3.0 instead 2.6, and express really important differences on 2.6 in a separate section on each chapter for people that interested with them.

This book is really hard to read from start to the end. It immediately ruin your focus on the real subject with mentioning different and not so useful topics at that moment. I really tried it, but I couldn't continue to read and practice above 45 minutes.

I decided to continue with another book, and really do not recommend this book for anyone wants to learn Python.
3 Comments Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

Most Recent Customer Reviews

Want to discover more products? Check out this page to see more: object oriented design