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
Can$50.99
Full star icon Full star icon Full star icon Full star icon Empty star icon 4 (31 Ratings)
eBook Jul 2021 714 pages 4th Edition
eBook
Can$50.99
Paperback
Can$63.99
Subscription
Free Trial
Arrow left icon
Profile Icon Steven F. Lott Profile Icon Dusty Phillips
Arrow right icon
Can$50.99
Full star icon Full star icon Full star icon Full star icon Empty star icon 4 (31 Ratings)
eBook Jul 2021 714 pages 4th Edition
eBook
Can$50.99
Paperback
Can$63.99
Subscription
Free Trial
eBook
Can$50.99
Paperback
Can$63.99
Subscription
Free Trial

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Product feature icon AI Assistant (beta) to help accelerate your learning
OR
Modal Close icon
Payment Processing...
tick Completed

Billing Address

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 : 9781801075237
Category :
Languages :

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Product feature icon AI Assistant (beta) to help accelerate your learning
OR
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Product Details

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

Packt Subscriptions

See our plans and pricing
Modal Close icon
$12.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
$129.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 Can$6 each
Feature tick icon Exclusive print discounts
$179.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 Can$6 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total Can$ 187.97
Clean Code in Python
Can$63.99
Learn Python Programming, 3rd edition
Can$59.99
Python Object-Oriented Programming
Can$63.99
Total Can$ 187.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

How do I buy and download an eBook? Chevron down icon Chevron up icon

Where there is an eBook version of a title available, you can buy it from the book details for that title. Add either the standalone eBook or the eBook and print book bundle to your shopping cart. Your eBook will show in your cart as a product on its own. After completing checkout and payment in the normal way, you will receive your receipt on the screen containing a link to a personalised PDF download file. This link will remain active for 30 days. You can download backup copies of the file by logging in to your account at any time.

If you already have Adobe reader installed, then clicking on the link will download and open the PDF file directly. If you don't, then save the PDF file on your machine and download the Reader to view it.

Please Note: Packt eBooks are non-returnable and non-refundable.

Packt eBook and Licensing When you buy an eBook from Packt Publishing, completing your purchase means you accept the terms of our licence agreement. Please read the full text of the agreement. In it we have tried to balance the need for the ebook to be usable for you the reader with our needs to protect the rights of us as Publishers and of our authors. In summary, the agreement says:

  • You may make copies of your eBook for your own use onto any machine
  • You may not pass copies of the eBook on to anyone else
How can I make a purchase on your website? Chevron down icon Chevron up icon

If you want to purchase a video course, eBook or Bundle (Print+eBook) please follow below steps:

  1. Register on our website using your email address and the password.
  2. Search for the title by name or ISBN using the search option.
  3. Select the title you want to purchase.
  4. Choose the format you wish to purchase the title in; if you order the Print Book, you get a free eBook copy of the same title. 
  5. Proceed with the checkout process (payment to be made using Credit Card, Debit Cart, or PayPal)
Where can I access support around an eBook? Chevron down icon Chevron up icon
  • If you experience a problem with using or installing Adobe Reader, the contact Adobe directly.
  • To view the errata for the book, see www.packtpub.com/support and view the pages for the title you have.
  • To view your account details or to download a new copy of the book go to www.packtpub.com/account
  • To contact us directly if a problem is not resolved, use www.packtpub.com/contact-us
What eBook formats do Packt support? Chevron down icon Chevron up icon

Our eBooks are currently available in a variety of formats such as PDF and ePubs. In the future, this may well change with trends and development in technology, but please note that our PDFs are not Adobe eBook Reader format, which has greater restrictions on security.

You will need to use Adobe Reader v9 or later in order to read Packt's PDF eBooks.

What are the benefits of eBooks? Chevron down icon Chevron up icon
  • You can get the information you need immediately
  • You can easily take them with you on a laptop
  • You can download them an unlimited number of times
  • You can print them out
  • They are copy-paste enabled
  • They are searchable
  • There is no password protection
  • They are lower price than print
  • They save resources and space
What is an eBook? Chevron down icon Chevron up icon

Packt eBooks are a complete electronic version of the print edition, available in PDF and ePub formats. Every piece of content down to the page numbering is the same. Because we save the costs of printing and shipping the book to you, we are able to offer eBooks at a lower cost than print editions.

When you have purchased an eBook, simply login to your account and click on the link in Your Download Area. We recommend you saving the file to your hard drive before opening it.

For optimal viewing of our eBooks, we recommend you download and install the free Adobe Reader version 9.