Refresh Your Home For Fall
To see product details, add this item to your cart. You can always remove it later.
Shipper / Seller
Amazon.com
Amazon.com
Shipper / Seller
Amazon.com
Returns
30-day refund / replacement
30-day refund / replacement
This item can be returned in its original condition for a full refund or replacement within 30 days of receipt.
Read full return policy
Payment
Secure transaction
Your transaction is secure
We work hard to protect your security and privacy. Our payment security system encrypts your information during transmission. We don’t share your credit card details with third-party sellers, and we don’t sell your information to others. Learn more
Gift options
Available at checkout
Available at checkout This item is a gift. Change
At checkout, you can add a custom message, a gift receipt for easy returns and have the item gift-wrapped
Support
Product support included
What's Product Support?
In the event your product doesn't work as expected or you need help using it, Amazon offers free product support options such as live phone/chat with an Amazon associate, manufacturer contact information, step-by-step troubleshooting guides, and help videos. By solving product issues, we help the planet by extending the life of products. Availability of support options differ by product and country. Learn more
Added to

Sorry, there was a problem.

There was an error retrieving your Wish Lists. Please try again.

Sorry, there was a problem.

List unavailable.
Kindle app logo image

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.

QR code to download the Kindle App

  • Learning Python: Powerful Object-Oriented Programming

Follow the authors

Get new release updates & improved recommendations
Something went wrong. Please try your request again later.

Learning Python: Powerful Object-Oriented Programming

4.4 out of 5 stars (89)

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

Frequently bought together

This item: Learning Python: Powerful Object-Oriented Programming
$53.66
Get it as soon as Saturday, Sep 19
In Stock
Ships from and sold by Amazon.com.
+
$43.99
Get it as soon as Saturday, Sep 19
In Stock
Ships from and sold by Amazon.com.
+
$27.53
Get it as soon as Saturday, Sep 19
In Stock
Ships from and sold by Amazon.com.
Total price: $00
To see our price, add these items to your cart.
Details
Added to Cart
Choose items to buy together.

Customers also bought or read

Loading...

From the brand


From the Publisher

Learning Python: Powerful Object-Oriented Programming

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 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.

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:
    4.4 out of 5 stars (89)

About the authors

Follow authors to get new release updates, plus improved recommendations.