- 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.4 pounds (View shipping rates and policies)
- Average Customer Review: 3.9 out of 5 stars See all reviews (369 customer reviews)
- Amazon Best Sellers Rank: #4,801 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.
See the Best Books of the Month
Want to know our Editors' picks for the best books of the month? Browse Best Books of the Month, featuring our favorite new books in more than a dozen categories.
Frequently bought together
Customers who bought this item also bought
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).
Browse award-winning titles. See more
If you are a seller for this product, would you like to suggest updates through seller support?
Top Customer Reviews
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.
Speaking of which, readers will need to have at least some previous programming experience to make sense of this book, since it relies heavily on jargon that complete beginners are unlikely to understand. If you don't already know what functions, methods, strings, and such are (and experienced programmers here will laugh, but when you are first starting out, such terms can be confusing!) the author isn't going to explain, or if he does, it will be 200 pages later in a different section.
A more minor complaint is the dry and formal, textbook-like voice of the author. I don't need to be constantly entertained while learning, but I do need to have fun, and a little humor and personality go a long way.
I'm over a hundred pages in, and I give up. I need to actually program while learning to program. I was looking for a beginner friendly, tutorial style book that would encourage exploration and test my knowledge with quizzes. This isn't it. I think I will go back to my severely outdated copy of Beginning Python by Magnus Lie Hetland to brush up on basic program construction, then use this book as a reference as I get deeper into programming with Python.
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.