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.97  ·  Rating details ·  2,798 ratings  ·  159 reviews
Portable, powerful, and a breeze to use, Python is the popular open source object-oriented programming language used for both standalone programs and scripting applications. Python is considered easy to learn, but there's no quicker way to mastery of the language than learning from an expert teacher. This edition of "Learning Python" puts you in the hands of two expert tea ...more
Paperback, Second Edition, 1214 pages
Published December 30th 2003 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.
Python is very versatile and allows data engineers to maintain a high velocity across all of the work they need to do.

Community Reviews

Showing 1-30
Average rating 3.97  · 
Rating details
 ·  2,798 ratings  ·  159 reviews

More filters
Sort order
Start your review of Learning Python
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
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
Saeed Mohamadi
Jan 24, 2015 rated it liked it
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.
Feb 17, 2012 rated it liked it
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  ·  review of another edition
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
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
Chris C
May 24, 2019 rated it liked it
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
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.
Andreea Ratiu
May 30, 2013 rated it liked it
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
Feb 19, 2018 is currently reading it  ·  review of another edition
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 :)
Aug 17, 2019 rated it did not like it  ·  review of another edition
Shelves: textbook, dnf, programming
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. ...more
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. ...more
Ayush Bhat
Nov 25, 2017 rated it it was amazing
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.
Den Ponsky
These books are great. Really easy to read and understand, but not too boring. A great foundation and/or a refresher.
Nov 08, 2018 rated it really liked it  ·  review of another edition
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.
Sep 11, 2020 rated it it was amazing  ·  review of another edition
Shelves: tech
Great but dry.
Fernando Conde-Pumpido
Jul 27, 2017 rated it liked it  ·  review of another edition
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
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
Apr 13, 2019 rated it did not like it
This is easily one of the worst, if not the worst, CS book I've ever read.

And I've read more then 30 ones.

I'd go as far as to say that I've totally wasted my time plowing through it.

If you're a beginner -- don't you even think about it. If you're reading the book right now -- drop it. I'm serious. There are "Fluent Python", "TDD with Python", and "Grokking Algorithms". These 3 books have almost equal [to the LP] total amount of pages, while being much-much clearer, comprehensive, and practical.
Nov 28, 2017 rated it it was amazing
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
One of the best books on Python programming language. It almost covers whole python language syntax and API.
Arun Mahendrakar
Apr 10, 2021 rated it liked it
I've been a developer for a while now and I wanted to myself introduced to Python. I picked up this book considering it's size - thinking it would cover a lot of concepts. I was "kinda" right. Yes, it is a big book, but it does feel quite wordy at times, though, at times, it helped me reinforce the concepts previously mentioned.

Many code samples compare between 2.x and 3.x, which was good for someone who's already been doing Python, but for a newbie like me, I just stuck to the 3.x examples and
I'm self taught and I wanted to share my thoughts in case anyone else in my position was thinking of picking up this 1,500 page monster. I felt like my understanding of the language was fragmented and amateur, so I got this to fill the gaps. Ultimately, it's not really worth it though. I read 300 pages straight through before I started just skimming and then finally returned it. Lutz himself says the book is intended to be appropriate for beginners (covers basics), is not meant as a reference (y ...more
Jun 02, 2017 rated it liked it  ·  review of another edition
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
Brian Leet
Aug 23, 2017 rated it did not like it
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
Feb 11, 2019 rated it really liked it
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
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
James Dillon
Dec 23, 2017 rated it it was amazing
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
Apr 10, 2019 rated it it was amazing
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. ...more
Feb 25, 2018 rated it it was amazing
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. ...more
« previous 1 3 4 5 next »
topics  posts  views  last activity   
Python tutorial 1 2 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

  • Automate the Boring Stuff with Python: Practical Programming for Total Beginners
  • Python for Data Analysis
  • Python Crash Course: A Hands-On, Project-Based Introduction to Programming
  • Fluent Python: Clear, Concise, and Effective Programming
  • Think Python
  • Introduction to Algorithms
  • Clean Code: A Handbook of Agile Software Craftsmanship
  • Effective Python: 59 Specific Ways to Write Better Python
  • Test-Driven Web Development with Python
  • Code Complete
  • Python Cookbook
  • Learning Spark: Lightning-Fast Big Data Analysis
  • The C Programming Language
  • Flask Web Development: Developing Web Applications with Python
  • Hands-On Machine Learning with Scikit-Learn and TensorFlow
  • HTML and CSS: Design and Build Websites
  • Refactoring: Improving the Design of Existing Code
  • Data Science from Scratch: First Principles with Python
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

News & Interviews

Juneteenth, observed on June 19th each year, is an American holiday commemorating the day in 1865 when the last enslaved people in Galveston,...
95 likes · 15 comments
“As usual, though, if you find yourself running into a wall, stop running into a wall!” 1 likes
“Operator overloading is coded in a Python class with specially named methods; they all begin and end with double underscores to make them unique. These are not built-in or reserved names; Python just runs them automatically when an instance appears in the corresponding operation.” 0 likes
More quotes…