Goodreads helps you keep track of books you want to read.
Start by marking “Learning Python” as Want to Read:
Learning Python
Enlarge cover
Rate this book
Clear rating
Open Preview

Learning Python

3.94  ·  Rating details ·  2,454 ratings  ·  134 reviews
Get a comprehensive, in-depth introduction to the core Python language with this hands-on book. Based on author Mark Lutz’s popular training course, this updated fifth edition will help you quickly write efficient, high-quality code with Python. It’s an ideal way to begin, whether you’re new to programming or a professional developer versed in other languages.

Complete with
Paperback, 1600 pages
Published July 6th 2013 by O'Reilly Media
More Details... Edit Details

Friend Reviews

To see what your friends thought of this book, please sign up.

Reader Q&A

To ask other readers questions about Learning Python, please sign up.
Popular Answered Questions
Mounika Karoshi Python is very versatile and allows data engineers to maintain a high velocity across all of the work they need to do.
This book is not yet featured on Listopia. Add this book to your favorite list »

Community Reviews

Showing 1-30
3.94  · 
Rating details
 ·  2,454 ratings  ·  134 reviews

More filters
Sort order
Feb 24, 2009 rated it it was amazing  ·  review of another edition
OK, this is a computer programming textbook, not typically one would review, however there are several good reasons to read this book:

1.) At the very top of the front cover, it has the words "Powerful Object-Oriented Programming," which leads to my new favorite CS acronym.
2.) The computer language is called Python, yet there's a rat on the cover. Now *that's* ballsy.
3.) The language itself isn't named after the reptile. It's named after Monty Python. Really. All the examples in the book have to
Saeed Mohamadi
Teaching valuable things in the most boring way.

It's best to learn coding interactively, I preferred the Learn Python The Hard Way by Zed Shaw method better.
Despite all that it's been written by Mark Lutz a pioneering figure in the Python community, this book was a must read for any Python hacker.
Barry King
Feb 15, 2014 rated it really liked it  ·  review of another edition

Oh, yes.


Clocking in at 2109 pages, this book beats "A Suitable Boy" as the largest tome I have ever lifted that was not a reference compendium like an encyclopaedia or dictionary. No oxen were stunned in this exercise, largely because I would be unable to lift it over my head to strike a killing blow. Actually, since it was an e-book, it may have been able to stun an electric sheep, but was not quite the wrist-breaker I make it out to be, but my GOD what a slog it was
Frederic Masi
The book does not assume you know programming or oop its very clear and you can learn allot with it.

The only problem its that for you to know all the python stuff (not talking about becoming a guru) you will need to read the entire book and that takes allot of time.

Another important point is that although the book focus is on python3 I for example program for python2.x and had no problem regarding this.
Chris C
Learning Python leaves a lot to be desired, at least for beginners.

In short, it's too comprehensive, it's outdated, and honestly, I found it boring.

I've had more success with learning programming via online platforms (edit for those asking: I current use this to learn the basics).

When I learn a concept and then immediately write code, it sticks much better. I'm not sure books are the best medium for learning to program anymore.

For any total beginners who just want to practice, not read a long d
I'm disappointed with the start of this book. very slow at getting to the actual python, and poorly tries tries to set a backgroung knowlegde for the reader in a shallow and rushed method.
I was not pleased to read a comment that Mark Lutz lacks the funding and resources to complete his code testing against serveral OS's, including the free Linux! and seems to focus purely on the over-priced Microsoft Windows.

I don't think this book is ideal for the new programmer who is picking Python as their f
Jan 11, 2014 rated it it was ok
Shelves: reference
Still reading, up to the end of the debugging chapter. Here are some thoughts:

- Very complete.

- Very repetitive.

- Not good for learners. This should be read for deeper knowledge once the basics of the language are understood. I'd never recommend this to someone as the book to use for learning Python or learning to program.

- Very repetitive.

- Too many forward references.

- Very repetitive.

- Far too few exercises. Lots of small examples are given, as well as several questions at the end of each cha
Apr 23, 2013 rated it did not like it  ·  review of another edition
Disappointing waste of time. Too long, too wordy, badly organized, lots of useless Python code printing endless amounts of word SPAM, number 42 and their variations scattered with occasional Ni! exclamations. The author has an annoying habbit of introducing a new topic and then immediately dropping it saying that it's too complicated for now to fully explain it. Unfortunately I couldn't stand more than 200 pages so I don't know if the whole book is like this. One could expect to gain some practi ...more
Andreea Lucau
I liked that the author makes comparison to other programming languages (like C or C++), it really helped me. The book covers most of the Python knowledge required for getting starting and having some idea of what is going on. What I disliked was that the rhythm is loo slow sometimes - better for beginners but it gets boring for programmers that are familiar with other languages (especially OOP).
Mel Anie (finals - 2months)
At the beginning of this year, I've set several new goals. One of them is to improve my programming skills.

On a side note, I believe that this book gonna be the longest one I will read this year (1,600 pages). Let's hope that I will finish it using this book as a guide before 2019 will come lol :)
Ayush Bhat
Nov 25, 2017 rated it it was amazing  ·  review of another edition
I've been working with python for a couple years, and this book goes through the details in an orderly fashion. Really fills in the gaps.
Travis Young
Apr 17, 2011 rated it it was amazing  ·  review of another edition
A fantastic book for learning to program in Python or learning to program in general. It's lengthy, and somewhat repetitive, which helps to reenforce earlier concepts.
Nov 28, 2017 rated it it was amazing  ·  review of another edition
I'm going to move this to the Read shelf even though I'm only 2/3 of the way through.

I had already written code in Python for a while. At first, I was just going to skip around and use it as a reference. Then I realized that is not the best way to use this book.

This is an excellent book to learn about the whys and gotchas of writing sound, resilient Python code. It's too verbose to use as a reference. Use a search engine and the online Python documentation for that.

Read this book front to back
Isuru Madusanka
Sep 19, 2011 rated it really liked it  ·  review of another edition
One of the best books on Python programming language. It almost covers whole python language syntax and API.
Tarashish Mishra
Great book. Explains everything in detail. Good to have at your side for reference.
Jul 27, 2017 rated it liked it
Recommends it for: programmers, engineers
Shelves: engineering
A book to learn Python. It fulfills its purpose, but not in the most effective way. In my opinion, because it's not well oriented.

If your new to programming: it might get reeeaaally boring, because it pays attention to many details that for beginners are absolutely not important, and might as well be learnt in a more in-depth book or by themselves, after some experience.

If you aren't new to programming: it explains lots of trivial stuff in a for-dummies way, so it wastes your time in some concep
Oct 08, 2017 rated it really liked it  ·  review of another edition
Very good book that gives solid foundations on Python. Teaches you the basics but it is not afraid to cover some useful details of the language. Those details and the fact it covers all basic aspects of the language (and some not so basic) really makes this book very complete and stand out from simple "tutorial" books that teach you the basics of the language but don't put you on the spirit of the language. I felt like i had a good grasp on how python worked after reading it.

But also like some p
Brian Leet
Aug 23, 2017 rated it did not like it  ·  review of another edition
Painfully long and dreadful read. It is just pages and pages of black and white, text and screenshots printed on poor quality paper.

I had trouble getting past the first few chapters to learn the basics of Python programming. I can't image what it will be like to finish the entire book! Definitely not for first year CS students who needs to learn about Python in a semester!

Don't get me wrong it is in no way a terrible or poorly written book. As it is a detailed and comprehensive book aimed prima
Jun 02, 2017 rated it liked it
Recommends it for: beginners or advanced freshmen, non-linear readers, those who like go under the hood
It should be refactored: too verbose, repeated sentences, too many back/forward/out referenecs, poorly structured (if read from cover to cover).
Author' excuse for poor structure is that Python is complex. That's BS, Pro Python didn't have problems with that.
Soo long and didn't even mention functools.partial, using __new__ as metaclass method and weak references.
List comprehention introduced before explaining for loop. Really?
Why cares about IDLE editor?

Good parts: quizes, exercises, goes kind of
Feb 11, 2019 rated it really liked it  ·  review of another edition
This Python read was my first comprehensive introduction to programming in general and also my first tome. This book goes over all the essential topics of python such as list comprehensions, string formatting, classes, and etc. Initially, the text was difficult to read but after a few chapters I caught up to the Lutz's vernacular. I would recommend following some but not all of the exercises diligently to build intuition. But also you do not have to do them all because this book teaches theory b ...more
Qiuyi Chen
Feb 22, 2018 rated it really liked it  ·  review of another edition
A very detailed textbook for newcomers, probably too detailed such that I wish it could be more concise, without dawdling over some trivial matters so much.
On the other hand, as long as you have great patience, its verbose style could also be good for you to consolidate what you’ve just learned as most of the points are repeated and reviewed several times along the way.
One efficient way to use this book I recommend is to do some hands-on Python code practice in advance. This can give you a concr
Nov 08, 2018 rated it really liked it
A depth-first rather than breadth-first tour of the language. I learned a lot, and filled in a lot of gaps in my memory, even if the exhaustive coverage of features made me slightly dread coming back to this beast to chip away at its 1600 pages.

Still, I recommend it for learning details that might not have been learnt just by reading StackOverflow answers, because Mark Lutz does a fine job of laying out the concepts and providing examples.
James Dillon
Dec 23, 2017 rated it it was amazing  ·  review of another edition
Shelves: programming
Very good reference for the experienced Python programmer. Heavily covers object-oriented programming. Lutz gives a good general overview of the Python standard library. Very in depth look at the specifics of Python data structures. I would recommend reading this book sequentially (for the Python beginner) and working through the code examples and exercises. In 1500 pages, one could easily go from total newbie to lower-intermediate level Pythonista.
Bogdan Ungureanu
A tome of knowledge, containing pretty much everything needed to get started with coding in Python and more. It tends to have handbook character, but I would still recommend going through the chapters of interest and solving the quizzes and tests at the end of the chapters and parts respectively. If you're a rabid perfectionist as I am (and will want go through it cover to cover) get ready for a long graft.
David Leemon
May 01, 2018 rated it really liked it  ·  review of another edition
If you want to learn Python 2.x, which is still being used by many businesses, this is a good book that will explain the rationale behind why Python does what it does. It can be readily understood at any level of programming experience, and thus makes a good introduction to programming.

Although if you do want to learn to program with Python, you should probably look for a source on Python 3.
Nov 14, 2018 rated it really liked it  ·  review of another edition
Very good book that takes you from the basics to in depth Python knowledge on the fundametal topics - list, comprehensions, generators, OOP. Its a very detailed book so might be a long read if this is your first time with Python so would recommend books like Learn Python the Hard Way for beginners.
Feb 25, 2018 rated it it was amazing  ·  review of another edition
Excellent intro to Python for professional programmers. Yes, it's the old-fashioned "hard" style, but Lutz presents a tremendous amount of detail in an organized fashion. This may be a bit tough if you don't have previous experience in another language, but if you do, this is the best intro to Python I've found.
Eric Pederson
Aug 12, 2018 rated it it was amazing  ·  review of another edition
Massive and comprehensive. It will teach you how to program if you don’t know how, and will teach you everything you need to know about the Python language otherwise. The author is a very good instructor.
Aug 12, 2018 rated it really liked it  ·  review of another edition
Gives an in-depth, comprehensive view of all core features. Great if you're looking to gain a solid understanding of Python. One star short of 5 because there aren't enough exercises, and some sections feel repetitive.
Aug 17, 2019 rated it did not like it  ·  review of another edition
I had to give up on this book after suffering until page 471 because the book is EXTREMELY dry, out-of-date (published in 2013), and irrelevant for the most part. It's still on my hard drive, so maybe I'll refer to it in the future, but I doubt it. I didn't learn much from it.
« previous 1 3 4 next »
topics  posts  views  last activity   
Why I’m Learning ...: Python Classes 1 2 Jul 31, 2019 10:47AM  
Python tutorial 1 1 Jul 23, 2019 03:35AM  
Python Classes and Objects 1 3 Oct 26, 2017 05:43AM  
Like this book? Join the O'Reilly Media Fan Page 1 15 Nov 16, 2009 10:37AM  

Readers also enjoyed

  • Python in a Nutshell
  • Learning the bash Shell
  • Learning Perl
  • Python Cookbook
  • Programming Perl
  • Mastering Regular Expressions
  • Python Essential Reference (Developer's Library)
  • DNS and BIND
  • Beginning Python: From Novice to Professional
  • Practical C Programming
  • Regular Expressions Cookbook
  • Unix Network Programming, Volume 1: Networking APIs - Sockets and XTI
  • Open Sources
  • Programming Ruby: The Pragmatic Programmers' Guide
  • Linux in a Nutshell
  • JavaScript: The Definitive Guide
  • Think Python
  • Learning the vi and Vim Editors
See similar books…

Goodreads is hiring!

If you like books and love to build cool products, we may be looking for you.
Learn more »
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.

Mark is the author of the popular O'Reilly books Programming Python, Python Pocket Reference, and Learning Python, all currently in 4th Editions. He has been using and promoting Python since 1992, started writing Python books in 1995, and began t
“As usual, though, if you find yourself running into a wall, stop running into a wall!” 1 likes
“When people write software, they are not writing it for themselves. In fact, they are not even writing primarily for the computer. Rather, good programmers know that code is written for the next human being who has to read it in order to maintain or reuse it. If that person cannot understand the code, it’s all but useless in a realistic development scenario.” 1 likes
More quotes…