
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 sixth 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 quizzes, exercises, and helpful illustrations, this easy-to-follow self-paced tutorial gets you started with Python 3.12 and all other releases in use today. With a pragmatic focus on what you need to know, it also introduces some advanced language features that have become increasingly common in Python code.
This book helps you:
Explore Python’s built-in object types such as strings, lists, dictionaries, and files Create and process objects with Python statements, and learn Python’s syntax model Use functions and functional programming to avoid redundancy and maximize reuse Organize code into larger components with modules and packages Code robust programs with Python’s exception handling and development tools Apply object-oriented programming and classes to make code customizable Survey advanced Python tools including decorators, descriptors, and metaclasses Write idiomatic Python code that runs portably across a wide variety of platforms
From the brand

Learn Python
Python performace
Python for Data Science

Sharing the knowledge of experts
O’Reilly’s mission is to change the world by sharing the knowledge of innovators. For over 40 years, we’ve inspired companies and individuals to do new things (and do them better) by providing the skills and understanding that are necessary for success.
Our customers are hungry to build the innovations that propel the world forward. And we help them do just that.
Publisher : O’Reilly Media
Publication date : April 1, 2025
Edition : 6th
Language : English
Print length : 1169 pages
ISBN-10 : 1098171306
ISBN-13 : 978-1098171308
Item Weight : 4 pounds
Dimensions : 7 x 2.25 x 9 inches
Best Sellers Rank: #55,261 in Books (See Top 100 in Books) #6 in Object-Oriented Design #16 in Introductory & Beginning Programming #24 in Python Programming
Customer Reviews: 4.4 4.4 out of 5 stars (51) var dpAcrHasRegisteredArcLinkClickAction; P.when(‘A’, ‘ready’).execute(function(A) { if (dpAcrHasRegisteredArcLinkClickAction !== true) { dpAcrHasRegisteredArcLinkClickAction = true; A.declarative( ‘acrLink-click-metrics’, ‘click’, { “allowLinkDefault”: true }, function (event) { if (window.ue) { ue.count(“acrLinkClickCount”, (ue.count(“acrLinkClickCount”) || 0) + 1); } } ); } }); P.when(‘A’, ‘cf’).execute(function(A) { A.declarative(‘acrStarsLink-click-metrics’, ‘click’, { “allowLinkDefault” : true }, function(event){ if(window.ue) { ue.count(“acrStarsLinkWithPopoverClickCount”, (ue.count(“acrStarsLinkWithPopoverClickCount”) || 0) + 1); } }); });
13 reviews for Learning Python: Powerful Object-Oriented Programming
Add a review
Original price was: $79.99.$59.88Current price is: $59.88.


JeffJ –
This is the book you should get if you are serious about learning Python
If you are at a point where you understand some of Python, this book will explain what you know and many many things that you do not know before you read it. It is a HUGE book and about 3 inches thick with writing that is very easy to understand even if you are new to Python. The examples are clear and cover each subject completely. I highly recommend this, and only about 1/2 inch into it and am learning every day. I have purchased several books on this subject, and NON of them have come even close to teaching me what I am learning from this one.
biz major –
Great book to learn programming & be a reference for more advanced concepts.
This is a great book if one is looking to find a book both to learn Python, but also have a reference as you move on to more advanced coding.I like the author and his ability to convey complex topics easily. I think it’s a relatively expensive book, but I have purchased other Python books and did not find them as helpful as this one.
DataJanitor –
Good book but give the Kindle edition serious consideration
I decided it was time to learn Python. I’m a retired systems programmer with a bunch of languages under my belt. My favorite is C++, if that tells you anything.I picked this book because I have a lot of other O’Reilly books and they’ve always been helpful. I decided on the newest, 6th Edition, because it focused on Python version 3.xx. In fact, it completely ignores version 2.xx, so if you’re after that you should pick up the previous edition. (It should be cheaper and in fact if you search around, you may find a very inexpensive used 5th edition.) Github is your friend.There is nothing wrong with the content of the book. It is comprehensive and it takes a tutorial approach. There is some proselytizing, but apparently it is less than in previous editions. The author claims in the introduction that he cut back on the advocacy to lessen the size of the book. Ha. This book is a monster. Which leads me to my mistake and the reason I gave the book 4 stars instead of 5.First, the printed book is not complete. There are two chapters that are not included in the book. If you want them, you need to get them from online. Well, that’s a bummer. Apparently, if you get the Kindle edition of this book, all of the chapters are included.Second, Amazon no longer has the program that allows you to get a discount on the Kindle version of the book once you have purchased the hardcopy version. I even tried appealing to O’Reilly about this and they don’t have that service either. You can subscribe to O’Reilly’s expensive subscription service and get electronic access to all of their books. But I’m a retired person and I don’t have a sugar-daddy employer to pay that fee, so I’m not doing that.This has led to a lot of frustration for me. The print on the pages is small! I guess if you’re a GENZ with sharp, young eyes, it’s not a problem. But with my Myopia, Presbyopia, and Diplopia and no telling what other eye problems, that text is a real strain to read. So, I instantly regretted not buying the Kindle edition where I could adjust the font size. The main reason that I wanted the printed version was that I thought the examples would be hard to work through on my phone or Fire tablet. So, here’s a hint. If you’re older, you might want to consider the Kindle edition. It will be more useful, I think. If you decide to go ahead with the printed edition, you might want to invest in a good reading light and some Sharpie highlighters to help you keep your place when all the lines start running together.Another reason to get the Kindle edition is that you might actually save a tree. Of course, if you carry it around in your backpack it might stop a bullet. It is more likely that you’ll develop back trouble.I have not finished the book yet. It’s suitable for a semester of study. So far, the actual content seems good and understandable. The author says that he stripped out a lot of the Monte Python’s Flying Circus humor. I’m not sure if that’s good or bad. Once again, saving space was the rationale.So, if you actually buy books to read and not just look pretty on the shelf, I recommend the Kindle edition.
Robert Stepp –
To *master* the Python core language, read this book!
Thorough coverage of the Python 3 core language, up to date through Python 3.12 with preview coverage of 3.13. Selected coverage of standard library modules — can’t cover everything in the standard library for this sort of book; the standard library is rather large.Just starting in on this book, but it is clear that if you wish to *master* the Python language then this is the book for you! As the author makes clear, if you truly wish to learn this language, you must devote disciplined time and effort to the task. My only quibble is that I wish there were more frequent and more substantial programming exercises. Currently these show up at the ends of major book parts, though there are test your knowledge quizzes at the end of almost all chapters. However, to be fair — and why I regard this as a “quibble” — if you’re truly serious about mastering Python you will naturally seek to apply it in your own projects as you work through the book. At least that is my approach.
Anonymous –
An excellent resource to deepen your understanding of Python
In the age of AI, use this book to understand the basics of Python and what the code your AI tool dumped out is actually doing.
RetiredinTexas –
This is the book to learn Python no matter how experienced you are with other languages
Even if you have the 5th Edition you should get this one (6th) as there is so much new information. It is a great way to learn Python (even the most low-level stuff) and once you are familiar it is a great reference to refresh.
eop6 –
It works!
My son says it is a huge book but the way it explains things is very easy to follow!
W. WALLACE –
Writer knows python and likes to hear himself talk. Editor probably hung himself after.
Lots of python knowledge and is good for getting a deeper understanding but not great for those just starting. Author spends quite a bit of time defending python because it needs it. He is more unstructured than the language itself and should have followed more of his poor editors advice. Book is over priced and probably should not have been published. But, there us lots of good python knowledge in it so I would hesitate to toss it out but should have bought a different book. Book is far.thicker than it should be, the author could be more concise. Buy a different book.
Athlos –
A great work.If you’re studying Python seriously this is the right book.
TekSkill –
Don’t know anything about Python programming? This book will give you lessons, clues and utilities all about python. With this book once finished reading and working through, you will come out knowing EVERY THING about python. A classic, comprehensive and compatible to curious minds, this book must be on everyone’s library. With 6th edition, the book has brought all python developments together and updated python. New beginners will be treated with recent python tools and techniques. So, I do not see why it should not be owned? The book is large. I have Kindle version and has coverage all aspects of python including python installation and some talks about text editors.
Zenger –
Libro excepcional, el autor es todo un maestro y se nota, la forma de explicar y desmenuzar todo es impresionante, asi como el orden y la forma de enseñar, es como una novela tecnica, te absorbe, se notan sus decadas de experiencia, eso si, no es un libro si uno tiene prisa, pero si quieres aprender python de una forma profunda para mi es la mejor opción con diferencia, realmente llegaras a dominar el lenguajeTenia la edicion anterior que era igual de excelente y esta es una actualización al mismo nivel, impresionanteEn cuanto a la impresion por encima de la media hoy en dia, tinta buena, paginas con letra pequeña resistentes y llenas de conocimiento, todo muy condensado, sin triquiñuelas tipo espacios vacios para aumentar el número de paginas o cosas similares, eso si, el libro se ve que es mas blando/debil que los de hace tiempo, se dobla/deforma con facilidad pero como digo por encima de la media hoy en dia que todo ha degenerado mucho por desgracia, el libro aguanta relativamente bien y tiene mucho merito con lo gordo que es
Benedetto –
Non lo consiglio a chi vuole imparare python da zero per i seguenti motivi: sono più di un migliaio di pagine; é un linguaggio in continua evoluzione; si può imparare con meno pagine quello che serve sapere. (Suggerimenti: The Quick Python Book oppure Python Crash Course)Lo consiglio invece a chi vuole una reference completa sul linguaggio da consulare per rinfrescarsi la memoria su alcuni aspetti oppure per approfondire certi argomenti che non si é capiti.4 stelle perché innanzitutto le pagine sono formattate in modo da avere carattere piccolo e spalmato su tutta la pagina; nonostante le poche immagini, pure quelle sono in bianco e nero, un classico di O Really per cui una copia fisica da 70 euro non ha colori a differenza della versione digitale. In questo caso non é neanche così grave, pensate per il libro di computer vision o quelli di data science…NOTA IMPORTANTE: invece che 4 stelle ne ho messe 3 per la mancanza di due capitoli, messi online da consultare, sui Managed Attributes e sui Decoratori, per risparmiare spazio altrimenti il libro sarebbe stato più voluminoso.Insomma, nonostante il prezzo un po’ elevato si scende comunque a dei compromessi per cui questo libro dovrebbe costare massimo 50 euro.
Amazon Customer –
This book is not new to me. I always had the soft copy . I was only surprised how big the book was in hard copy. This serves as a reference guide in python. A must have.