- Series: Learning Python
- Paperback: 1648 pages
- Publisher: O'Reilly Media; 5 edition (July 6, 2013)
- Language: English
- ISBN-10: 1449355730
- ISBN-13: 978-1449355739
- Product Dimensions: 7 x 2.8 x 9.2 inches
- Shipping Weight: 5.1 pounds (View shipping rates and policies)
- Average Customer Review: 336 customer reviews
- Amazon Best Sellers Rank: #5,578 in Books (See Top 100 in Books)
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.
To get the free app, enter your mobile phone number.
Learning Python, 5th Edition 5th Edition
Use the Amazon App to scan ISBNs and compare prices.
The Amazon Book Review
Author interviews, book reviews, editors picks, and more. Read it now
Frequently bought together
Customers who bought this item also bought
Customers who viewed this item also viewed
From the Publisher
Who Uses Python Today?
At this writing, the best estimate anyone can seem to make of the size of the Python user base is that there are roughly 1 million Python users around the world today (plus or minus a few). This estimate is based on various statistics, like download rates, web statistics, and developer surveys. Because Python is open source, a more exact count is difficult—there are no license registrations to tally. Moreover, Python is automatically included with Linux distributions, Macintosh computers, and a wide range of products and hardware, further clouding the user base picture
- Raspberry Pi
- Industrial Light & Magic, Pixar
- EVE Online
- Thousands more...
Why Do People Use Python?
Because there are many programming languages available today, this is the usual first question of newcomers. Given that there are roughly 1 million Python users out there at the moment, there really is no way to answer this question with complete accuracy; the choice of development tools is sometimes based on unique constraints or personal preference.
But after teaching Python to roughly 260 groups and over 4,000 students during the last 16 years, I have seen some common themes emerge. The primary factors cited by Python users seem to be these:
- Software quality
- Developer productivity
- Program portability
- Support libraries
- Component integration
About the Author
Mark Lutz is a leading Python trainer, the author of Python’s earliest and best-selling texts, and a pioneering figure in the Python world.
Mark is the author of the three O’Reilly books: Learning Python, Programming Python, and Python Pocket Reference, all currently in fourth or fifth editions. He has been using and promoting Python since 1992, started writing Python books in 1995, and began teaching Python classes in 1997. As of Spring 2013, Mark has instructed 260 Python training sessions, taught roughly 4,000 students in live classes, and written Python books that have sold 400,000 units and been translated to at least a dozen languages.
Together, his two decades of Python efforts have helped to establish it as one of the most widely used programming languages in the world today. In addition, Mark has been in the software field for 30 years. He holds BS and MS degrees in computer science from the University of Wisconsin where he explored implementations of the Prolog language, and over his career has worked as a professional software developer on compilers, programming tools, scripting applications, and assorted client/server systems.
Mark maintains a training website (http://learning-python.com) and an additional book support site on the Web (http://www.rmi.net/~lutz).
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
First of all, I've read many of the other well reviewed, up-to-date, Python books (yes, all of them were shorter), and being new to Python, I ended up spending most of my time searching online trying to fill in the gaps that the other authors failed to fill in. With this book you don't need to reference anything else because the author does a great job of answering every question. You can tell he's dedicated his life to teaching Python and knows what problems his readers will run into.
While this books is long, it doesn't feel long. It's not just page after page of code samples. Each concept comes with a few code samples and is followed up by very well-written, clear explanations so it's actually a fairly quick read (for a 1600 page book). Does he repeat himself as other reviewers have noted? Yes, but it feels like when he does it's purposeful.
Even though you often hear that Python is easy to learn, it's an incredibly deep language that requires time and effort. I believe that by having read this book that I'm starting out far ahead of other new Python programmers, I appreciate the language even more and I'm very comfortable even with Python's advanced topics.
This book probably has more content about Python than you will ever need. The problem is, it makes for very dense reading as Mark tries to appeal to too broad an audience, both newbies to programming and veterans. This means he laboriously explains all the basics AND all of the minute details of the language. This means learning basics like methods and classes takes many more hours of reading than it should.
Mark's style is: when in doubt to be verbose. If there are three ways to do something in Python, all three methods are explained in detail (sometimes multiple times) and the "pythonic" or "best practice" often saved until all are explained in full detail. For example, Mark spends multiple pages on the difference between __str__ and __repr__ (two methods you can override for class output) across several chapters, rather than just concisely explaining to use __repr__ most of the time, explain the difference and maybe a sidebar/appendix on the minutia of why "most of the time" you should just use __repr__ but there are a few exceptions.
Going back, I realized another reviewer summed it up perfectly -- "It's like learning the English language by reading a dictionary."
DO buy this book if you want to have a reference dictionary that has ever minute detail about Python.
DON'T buy this book if you are new to the language and want to get going quickly.
I've moved to just writing the code and following online tutorials, and when I run into a problem I don't understand diving into the book to try to find the reasons.
That being said, this book needs to be TWO introductory books: one for beginning developers and one for experienced developers; it vacillates between the two. For experienced programmers new to Python you really have to scan the whole book page by page to glean the in's and out's of the language. It's frustrating and time consuming. There are leaps forward and back and lots of repetition which is probably good for some beginners but not for the experienced developers. This book is useless as a reference, especially in electronic format, because of it's bulk and lengthy digressions. I would love to see an "experienced developer" version laid out like the C# in a Nutshell book.
For beginning developers this book could be daunting in sections. Some parts lead you through things slowly and methodically and other parts are jumped over with reference later in the book.
I would recommend this book because there's not many intro's that are current, concise and complete. But be prepared for the long haul and have plenty of coffee on hand.
If you're serious about learning Python there isn't a more complete book. However, it's not a book for beginners and may only fit certain intermediary developers if they have a formal degree in computer science. It's clearly a book written for proficient Python developers who want to move to the expert level and optimize all that they do in Python.
The downside of how the author has organized the chapters is that the book doesn't lend itself as a quick reference. You really need to carefully read from start to finish, and you should have a solid understanding of Python programming (6 to 18 months). Upsides of the book are in Part V (Modules & Packages) and Part VI (Classes and OOP); they are excellent! They are thorough, instructive, and critical to great Python coding!