Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds
Python Object-Oriented Programming
Python Object-Oriented Programming

Python Object-Oriented Programming: Build robust and maintainable object-oriented Python applications and libraries , Fourth Edition

Arrow left icon
Profile Icon Steven F. Lott Profile Icon Dusty Phillips
Arrow right icon
£9.99 per month
Full star icon Full star icon Full star icon Full star icon Empty star icon 4 (31 Ratings)
Paperback Jul 2021 714 pages 4th Edition
eBook
£31.99
Paperback
£39.99
Subscription
Free Trial
Renews at £9.99p/m
Arrow left icon
Profile Icon Steven F. Lott Profile Icon Dusty Phillips
Arrow right icon
£9.99 per month
Full star icon Full star icon Full star icon Full star icon Empty star icon 4 (31 Ratings)
Paperback Jul 2021 714 pages 4th Edition
eBook
£31.99
Paperback
£39.99
Subscription
Free Trial
Renews at £9.99p/m
eBook
£31.99
Paperback
£39.99
Subscription
Free Trial
Renews at £9.99p/m

What do you get with a Packt Subscription?

Free for first 7 days. £13.99 p/m after that. Cancel any time!
Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
Subscribe now
View plans & pricing

Key benefits

  • Build an intuitive understanding of object-oriented design, from introductory to mature programs
  • Learn the ins and outs of Python syntax, libraries, and best practices
  • Examine a machine-learning case study at the end of each chapter

Description

Object-oriented programming (OOP) is a popular design paradigm in which data and behaviors are encapsulated in such a way that they can be manipulated together. Python Object-Oriented Programming, Fourth Edition dives deep into the various aspects of OOP, Python as an OOP language, common and advanced design patterns, and hands-on data manipulation and testing of more complex OOP systems. These concepts are consolidated by open-ended exercises, as well as a real-world case study at the end of every chapter, newly written for this edition. All example code is now compatible with Python 3.9+ syntax and has been updated with type hints for ease of learning. Steven and Dusty provide a comprehensive, illustrative tour of important OOP concepts, such as inheritance, composition, and polymorphism, and explain how they work together with Python’s classes and data structures to facilitate good design. In addition, the book also features an in-depth look at Python’s exception handling and how functional programming intersects with OOP. Two very powerful automated testing systems, unittest and pytest, are introduced. The final chapter provides a detailed discussion of Python's concurrent programming ecosystem. By the end of the book, you will have a thorough understanding of how to think about and apply object-oriented principles using Python syntax and be able to confidently create robust and reliable programs.

Who is this book for?

If you are new to object-oriented programming techniques, or if you have basic Python skills and wish to learn how and when to correctly apply OOP principles in Python, this is the book for you. Moreover, if you are an object-oriented programmer coming from other languages or seeking a leg up in the new world of Python, you will find this book a useful introduction to Python. Minimal previous experience with Python is necessary.

What you will learn

  • Implement objects in Python by creating classes and defining methods
  • Extend class functionality using inheritance
  • Use exceptions to handle unusual situations cleanly
  • Understand when to use object-oriented features, and more importantly, when not to use them
  • Discover several widely used design patterns and how they are implemented in Python
  • Uncover the simplicity of unit and integration testing and understand why they are so important
  • Learn to statically type check your dynamic code
  • Understand concurrency with asyncio and how it speeds up programs

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Jul 02, 2021
Length: 714 pages
Edition : 4th
Language : English
ISBN-13 : 9781801077262
Category :
Languages :

What do you get with a Packt Subscription?

Free for first 7 days. £13.99 p/m after that. Cancel any time!
Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
Subscribe now
View plans & pricing

Product Details

Publication date : Jul 02, 2021
Length: 714 pages
Edition : 4th
Language : English
ISBN-13 : 9781801077262
Category :
Languages :

Packt Subscriptions

See our plans and pricing
Modal Close icon
£9.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 6,500+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
£99.99 billed annually
Feature tick icon Unlimited access to Packt's library of 6,500+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just £5 each
Feature tick icon Exclusive print discounts
£139.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 6,500+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just £5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total £ 113.97
Clean Code in Python
£37.99
Learn Python Programming, 3rd edition
£35.99
Python Object-Oriented Programming
£39.99
Total £ 113.97 Stars icon
Banner background image

Customer reviews

Top Reviews
Rating distribution
Full star icon Full star icon Full star icon Full star icon Empty star icon 4
(31 Ratings)
5 star 51.6%
4 star 9.7%
3 star 29%
2 star 9.7%
1 star 0%
Filter icon Filter
Top Reviews

Filter reviews by




Lou mauget Jul 30, 2021
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Python-experienced or not, I recommend the book to you because it increases one’s knowledge of each topic when contrasted and compared to another language perspective. If you work with object-oriented patterns in any medium, then this book will interest you.There are 750 pages of niceties. I dislike treasure-hunting a line-of-interest from each code example in some books. This book sets emphasized parts of code examples in boldface. In addition, each snippet is color-coded Python for readability. Python is duck-typed, but the authors statically type-checked the book’s accompanying code type flows with the mypy tool. So ... the included code works.The content is organized into four major sections:1. Well-known OOPs principles as reflected in Python — with good practices, case studies, and exercises in each chapter2. Built-in Python features from the OOPs viewpoint — these form a base for a contrast-and-compare with other languages3. Popular OOPS Design patterns4. Testing and concurrencyI liked Chapter 5 – When to use Object-Oriented Programming. It presents balanced coverage of a trade-off between an object-oriented rendition of an example and a more data-oriented version or a functional version. It addresses Python’s lack of private members. The coverage delved into reasonable alternatives within typical OOPS design decisions.Chapter 8 — The Intersection of Object Oriented and Functional Programming, caught my eye. Functional programming has become cool after lurking in an academic setting while OOPS enjoyed two decades of limelight. The authors made a credible case for melding the two paths. They point out that Python functions are objects as well.Chapter 11 — Common Design Patterns, and Chapter 12 — Advanced Design Patterns, give 12 well-known design patterns their Python spins. The discussion about the singleton pattern was interesting. Python has no private constructor capability. Instead, a Python module is a singleton, so there’s the singleton container.Testing is well-covered in chapter 14 (pun intended).Concurrency is difficult. Chapter 14 covers usual concurrency topics. It was the most interesting chapter to me. It enhanced my general understanding of these topics by letting me contrast and compare Python-based approaches to those I knew in other languages and libraries. You don’t need to know much Python to benefit from this chapter. It's a readable language. The Python GIL may be unique, however. The text doesn’t explicitly state that the interpreter runs in a single CPU core, where threads must time-share that core, as gated by the GIL. The text says that the multiprocessing interface supports multiple concurrent core processes. Concurrency diagrams would have been helpful (especially the floorplan of Constantine and Mo’s diner).I say “get this book.” The authors have vast experience. I relate to the ancient one of the pair who has been programming forever. He lives on a boat that he relocates. I wrote my first program in machine language on a vacuum tube computer in 1961. Yes, but I live in a simple non-moving house.
Amazon Verified review Amazon
Matthew Emerick Jul 16, 2021
Full star icon Full star icon Full star icon Full star icon Full star icon 5
About This BookThere are many programming paradigms, but the paradigm that is the most used is still object-oriented. In this book, you learn all about object-oriented programming (OOP) using Python. The book covers the basics of what an object is, moves onto Python-specific features used for OOP, examines several design patterns, and finishes with issues regarding testing and concurrency.Who Is This For?This is a good book for anyone new to OOP so long as they have some Python programming knowledge. This book has great coverage of the most important OOP concepts and ensures that the reader has enough knowledge to put them into practice.OrganizationThe book is organized into four sections: core concepts, Python’s built-in OOP features, common design patterns, and chapters on testing and concurrency. Each chapter covers its topic and then has sections for recall, exercises, and a summary. There is a common case study throughout the book on the AI/ML concept of k-NN.Did This Book Succeed?This is a great book to learn the basics of OOP, refresh yourself on OOP, or learn how to program Python using OOP. It is well organized and easy to read. Someone new to OOP can easily come up to speed with practical examples of the paradigm.Rating and Final ThoughtsOverall, I give this book a 5 out of 5.If you are a Python programmer and want to learn OOP or improve your understanding, this is an excellent book. It’s not for the expert Python programmer or someone who only programs in a different OOP-focused language like Java or C++. I would recommend it very much for college students taking a software engineering course.
Amazon Verified review Amazon
Moses Kayanda Jul 30, 2021
Full star icon Full star icon Full star icon Full star icon Full star icon 5
If you, like me, have just recently started programming in Python and are still learning the language in detail, you would find this to be one of the best books available for covering the concepts of Object-Oriented Programming in a simple yet detailed manner. The authors have done a fantastic job explaining the Object-Oriented Approach by teaching how to structure programs in Python.The book has 14 chapters that teach the design patterns used in Python, how to statically type-check your dynamic code, when to use Object-Oriented Features (and when not to use them), and other topics. In teaching good design, the authors teach OOP key concepts such as Inheritance, Polymorphism, and Encapsulation.You get the latest Python Syntax as the book examples test with Python 3.9.5. I realized some of the codes in the 3rd Edition were not running well because of typing errors. But that’s what makes Programming fun and why we have the issues page in Github, right? Yes, you get all the codes in the book on the provided Github link, which, in my opinion, makes it easier for reference.In every chapter, you get the background of the subject concept, detailed examples, best practices, common mistakes to avoid, a section to recall the chapter, structured exercises to test what you have learned, and, finally, a chapter summary. The case studies section gives the reader a detailed perspective of real-world scenarios and how to navigate them. You also get illustrated summaries and examples in the form of tables and figures throughout the book.++++++++++++++++++++Who this book is for?I would highly recommend this book to anyone in or starting out in Data Science and, specifically, from a non-Computer Science, background as the book clearly explains concepts that are new to non-traditional Computer Science students. The book considers the role of Python in Data Science and, hence, integrates Math and Statistics in examples of how to apply OOP concepts. Regardless of your path or field, these are skills that once you get right, everything else feels less uphill in your learning.++++++++++++I will give this book a 5/5 review. In an age of half-baked online tutorials, you need a well-written book like this one.
Amazon Verified review Amazon
Austen Aug 26, 2021
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Very practical book with real world examples, that can help any beginner interested in python to get up and running quickly, while also providing a lot of depth to teach even a python export a new thing or two.Each chapter is well laid out and organized with end of chapter highlights, exercises, and recap so you can test what you learned, while also allowing those with more experience to skip ahead to topics they want to explore more.I especially enjoyed following along using the working code provided in the book, and seeing how the examples built on each other towards a complex and meaningful application.
Amazon Verified review Amazon
Gabe Rigall Jul 23, 2021
Full star icon Full star icon Full star icon Full star icon Full star icon 5
BLUF: This book should be in every Python programmer's library. It's not a "Python basics" book but picks up the torch shortly thereafter and runs with it.PROS:This book is a comprehensive look at object-oriented design and programming. It takes an iterative approach to teaching, kept my attention throughout, and engaged my critical thinking processes. There were little interjections of humor now and again that I enjoyed. There were also in-text reading recommendations for further learning should one be interested in going down a particular rabbit-hole.CONS:None so far that I've found. I do prefer code snippets to be in color but that's a minor gripe.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

What is included in a Packt subscription? Chevron down icon Chevron up icon

A subscription provides you with full access to view all Packt and licnesed content online, this includes exclusive access to Early Access titles. Depending on the tier chosen you can also earn credits and discounts to use for owning content

How can I cancel my subscription? Chevron down icon Chevron up icon

To cancel your subscription with us simply go to the account page - found in the top right of the page or at https://subscription.packtpub.com/my-account/subscription - From here you will see the ‘cancel subscription’ button in the grey box with your subscription information in.

What are credits? Chevron down icon Chevron up icon

Credits can be earned from reading 40 section of any title within the payment cycle - a month starting from the day of subscription payment. You also earn a Credit every month if you subscribe to our annual or 18 month plans. Credits can be used to buy books DRM free, the same way that you would pay for a book. Your credits can be found in the subscription homepage - subscription.packtpub.com - clicking on ‘the my’ library dropdown and selecting ‘credits’.

What happens if an Early Access Course is cancelled? Chevron down icon Chevron up icon

Projects are rarely cancelled, but sometimes it's unavoidable. If an Early Access course is cancelled or excessively delayed, you can exchange your purchase for another course. For further details, please contact us here.

Where can I send feedback about an Early Access title? Chevron down icon Chevron up icon

If you have any feedback about the product you're reading, or Early Access in general, then please fill out a contact form here and we'll make sure the feedback gets to the right team. 

Can I download the code files for Early Access titles? Chevron down icon Chevron up icon

We try to ensure that all books in Early Access have code available to use, download, and fork on GitHub. This helps us be more agile in the development of the book, and helps keep the often changing code base of new versions and new technologies as up to date as possible. Unfortunately, however, there will be rare cases when it is not possible for us to have downloadable code samples available until publication.

When we publish the book, the code files will also be available to download from the Packt website.

How accurate is the publication date? Chevron down icon Chevron up icon

The publication date is as accurate as we can be at any point in the project. Unfortunately, delays can happen. Often those delays are out of our control, such as changes to the technology code base or delays in the tech release. We do our best to give you an accurate estimate of the publication date at any given time, and as more chapters are delivered, the more accurate the delivery date will become.

How will I know when new chapters are ready? Chevron down icon Chevron up icon

We'll let you know every time there has been an update to a course that you've bought in Early Access. You'll get an email to let you know there has been a new chapter, or a change to a previous chapter. The new chapters are automatically added to your account, so you can also check back there any time you're ready and download or read them online.

I am a Packt subscriber, do I get Early Access? Chevron down icon Chevron up icon

Yes, all Early Access content is fully available through your subscription. You will need to have a paid for or active trial subscription in order to access all titles.

How is Early Access delivered? Chevron down icon Chevron up icon

Early Access is currently only available as a PDF or through our online reader. As we make changes or add new chapters, the files in your Packt account will be updated so you can download them again or view them online immediately.

How do I buy Early Access content? Chevron down icon Chevron up icon

Early Access is a way of us getting our content to you quicker, but the method of buying the Early Access course is still the same. Just find the course you want to buy, go through the check-out steps, and you’ll get a confirmation email from us with information and a link to the relevant Early Access courses.

What is Early Access? Chevron down icon Chevron up icon

Keeping up to date with the latest technology is difficult; new versions, new frameworks, new techniques. This feature gives you a head-start to our content, as it's being created. With Early Access you'll receive each chapter as it's written, and get regular updates throughout the product's development, as well as the final course as soon as it's ready.We created Early Access as a means of giving you the information you need, as soon as it's available. As we go through the process of developing a course, 99% of it can be ready but we can't publish until that last 1% falls in to place. Early Access helps to unlock the potential of our content early, to help you start your learning when you need it most. You not only get access to every chapter as it's delivered, edited, and updated, but you'll also get the finalized, DRM-free product to download in any format you want when it's published. As a member of Packt, you'll also be eligible for our exclusive offers, including a free course every day, and discounts on new and popular titles.