Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.
Learning Python: Powerful Object-Oriented Programming
Purchase options and add-ons
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
- ISBN-101098171306
- ISBN-13978-1098171308
- Edition6th
- PublisherO'Reilly Media
- Publication dateApril 1, 2025
- LanguageEnglish
- Dimensions7 x 2.25 x 9 inches
- Print length1169 pages
Frequently bought together

Customers who viewed this item also viewed
- Python Crash Course, 3rd Edition: A Hands-On, Project-Based Introduction to ProgrammingPaperbackFREE Shipping on orders over $35 shipped by AmazonGet it as soon as Saturday, Sep 19
- Fluent Python: Clear, Concise, and Effective ProgrammingPaperbackFREE Shipping by AmazonGet it as soon as Saturday, Sep 19
- Learning Python, 5th EditionPaperbackFREE Shipping on orders over $35 shipped by AmazonGet it as soon as Monday, Sep 21Only 1 left in stock - order soon.
- Introducing Python: Modern Computing in Simple PackagesPaperbackFREE Shipping on orders over $35 shipped by AmazonGet it as soon as Saturday, Sep 19Only 7 left in stock (more on the way).
- Python for Data Analysis: Data Wrangling with pandas, NumPy, and JupyterPaperbackGet it as soon as Wednesday, Sep 30
- Automate the Boring Stuff with Python, 3rd EditionPaperbackFREE Shipping on orders over $35 shipped by AmazonGet it as soon as Saturday, Sep 19
Customers also bought or read
- Fluent Python: Clear, Concise, and Effective Programming
Paperback$43.99$43.99FREE delivery Sat, Sep 19 - Python for Data Analysis: Data Wrangling with pandas, NumPy, and Jupyter
Paperback$43.99$43.99FREE delivery Sep 30 - Oct 16 - Python Pocket Reference: Python In Your Pocket (Pocket Reference (O'Reilly))
Paperback$13.09$13.09Delivery Sat, Sep 19 - Python Crash Course, 3rd Edition: A Hands-On, Project-Based Introduction to Programming#1 Best SellerFunctional Software Programming
Paperback$27.53$27.53Delivery Sat, Sep 19 - Powerful Python: Patterns and Strategies with Modern Python
Paperback$39.89$39.89FREE delivery Sat, Sep 19 - Hands-On Machine Learning with Scikit-Learn and PyTorch: Concepts, Tools, and Techniques to Build Intelligent Systems
Paperback$77.72$77.72FREE delivery Sat, Sep 19 - Learning Git: A Hands-On and Visual Guide to the Basics of Git
Paperback$34.92$34.92Delivery Sat, Sep 19 - Python Data Science Handbook: Essential Tools for Working with Data
Paperback$44.18$44.18FREE delivery Sat, Sep 19 - High Performance Python: Practical Performant Programming for Humans
Paperback$44.99$44.99FREE delivery Tue, Sep 22 - Python 3: The Comprehensive Guide to Hands-On Python Programming (Rheinwerk Computing)
Paperback$53.79$53.79FREE delivery Sat, Sep 19 - Python Illustrated: Not another boring Python book, learn programming the fun way
Paperback$28.49$28.49Delivery Mon, Sep 21 - SQL for Data Analysis: Advanced Techniques for Transforming Data into Insights
Paperback$36.49$36.49FREE delivery Sat, Sep 19 - Essential Math for Data Science: Take Control of Your Data with Fundamental Linear Algebra, Probability, and Statistics
Paperback$36.22$36.22FREE delivery Sat, Sep 19 - Python GUI Programming with Tkinter: Design and build functional and user-friendly GUI applications, 2nd Edition
Paperback$25.62$25.62Delivery Mon, Sep 21 - Numerical Python: Scientific Computing and Data Science Applications with Numpy, SciPy and Matplotlib
Paperback$33.30$33.30Delivery Sat, Sep 19 - Head First Python: A Learner's Guide to the Fundamentals of Python Programming, A Brain-Friendly Guide
Paperback$37.83$37.83FREE delivery Sat, Sep 19 - Deep Learning with PyTorch, Second Edition: Training and applying deep learning and generative AI models
Paperback$51.68$51.68FREE delivery Mon, Sep 21 - Object-Oriented Python: Master OOP by Building Games and GUIs
Paperback$26.48$26.48Delivery Sat, Sep 19 - Python Programming: An Introduction to Computer Science, Fourth Edition
Paperback$64.98$64.98FREE delivery Sat, Sep 19
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.
From the Publisher
Why this Book?
- Python is one of the most widely used programming languages in the world. It’s part of nearly every role that computers play in our lives, and its relative ease of use makes it an ideal way to get started with programming.
- This book is a tutorial that teaches Python language fundamentals in depth. Its content is aimed at Python newcomers of all stripes, applies to every role that Python plays, and is based on decades of feedback from real learners like you.
- This edition updates this book for a decade of changes in Python and its world. It drops coverage of the now-defunct Python 2.X, explores new tools added to Python through version 3.12, and applies to other Pythons past and future.
This book is a tutorial on the Python language and a classic in its domain. It’s the product of three decades spent using, promoting, and teaching Python, and dates back to the mid-1990s, when Python was still at version 1.X, and the web was just something developers mused about over lunch. Although the focus here is firmly on the present, that legacy naturally adds some historical context that will help you understand Python more deeply. Despite what you may have heard, the past matters, especially in knowledge-based fields.
Just as importantly, this book has always been based on live-and-in-person feedback from Python beginners struggling to learn Python for the first time. This feedback mostly owes to Python training classes taught over a period of two decades. While these classes have now gone the way of the dodo and Yahoo, this book takes care to retain its learner-inspired material because that’s much—if not most—of its value.
As a result, if you’re like most of the thousands of learners whose experiences have been captured here, you’ll probably find that this book works like a self-paced version of the Python training sessions from which it arose. You may sometimes even find that it answers your questions before they are asked because a host of learners before you have had the same queries. This isn’t clairvoyance; it simply reflects the fact that learning resources do best when they listen to learners.
It’s also worth noting up front that this book sometimes critiques Python changes while presenting them. Critical thinking is crucial in engineering domains—especially in one caught up in an arms race that convolutes tools used by millions of people. On some levels, Python remains a constantly morphing sandbox of ideas that too often prioritizes changer hubris over user need, and this book is not shy about calling this out. That said, the main goal here is to educate, not criticize, and opinions are always, well, opinionated. Although views here reflect decades of using and teaching Python, you should always judge the net worth of Python changes for yourself in whatever world you’ve been cast.
Changes in the sixth edition:
This edition drops coverage of the now-sunsetted Python 2.X line and updates its content to be current with Python 3.12 and the decade of changes since its prior edition. It also gives more focus to non-Windows platforms, including smartphones. Among its new 3.X content, this edition covers f-string literals, named-assignment expressions, match statements, type hinting, async coroutines, underscore digit separators, exception groups, module attribute hooks, star-unpacking proliferation, main-script package files, dictionary-key insertion order, positional-only function arguments, hash-based bytecode files, and other additions, deprecations, and changes.
Other noteworthy changes this time around:
- The Unicode content in the advanced part’s Chapter 37 is new and improved because this topic is now an essential in Python 3.X and the world at large.
- Usage coverage, including the new Appendix A, gives more focus to macOS, Android, Linux, and iOS because not all of this book’s readers use Windows.
- Most code-file examples now have numbered captions because the extra formality distinguishes them better in the book, and it’s worth the space.
- Some redundancy has been trimmed, but not all, because repetition is useful and even important in learning resources.
- Fictitious names in examples are more gender neutral: “Bob” is now an ambiguous “Pat” unless paired with “Sue” as before because it better defuses bias.
- The Monty Python references have been dropped because they can be confusing and might be divisive, and borrowing personality from media seems cheap.
- Both first-person voice and personal anecdotes have been globally sacked because you’ve bought this book to learn Python, not an author’s life story.
Editorial Reviews
About the Author
Mark wrote the three O'Reilly books Learning Python, Programming Python, and Python Pocket Reference, all currently in fourth, fifth, or sixth editions. He has been using and promoting Python since 1992, started writing Python books in 1995, and began teaching Python classes in 1997.
All told, Mark has taught thousands of learners live and in person, and his published works span 12k pages among 15 books that cover Pythons 1.X through 3.X. He also has BS and MS degrees in computer science, work experience in compilers and other domains, and a current interest in Python-coded apps that run on both PCs and phones.
Product details
- 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: #54,987 in Books (See Top 100 in Books)
- Customer Reviews:
About the authors

Discover more of the author’s books, see similar authors, read book recommendations and more.

Mark Lutz is the author of Python's classic and foundational texts, a former trainer with two decades of experience teaching Python to newcomers, and one of the people responsible for the prominence that Python enjoys today. For more info, see the author's books and programming site at learning-python.com.





















