• Python 3
Reading time
  • Approximately 46 days
What you will learn
  • Advanced Python Concepts
  • High Performance Computing
  • Dusty Phillips
  • 2 years, 12 months ago
Book cover of Python 3 Object-Oriented Programming: Build robust and maintainable software with object-oriented design patterns in Python 3.8 by Dusty Phillips

Official description

Uncover modern Python with this guide to Python data structures, design patterns, and effective object-oriented techniques

Key Features

  • In-depth analysis of many common object-oriented design patterns that are more suitable to Python's unique style
  • Learn the latest Python syntax and libraries
  • Explore abstract design patterns and implement them in Python 3.8

Book 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. This third edition of Python 3 Object-Oriented Programming fully explains classes, data encapsulation, and exceptions with an emphasis on when you can use each principle to develop well-designed software.

Starting with a detailed analysis of object-oriented programming, you will use the Python programming language to clearly grasp key concepts from the object-oriented paradigm. You will learn how to create maintainable applications by studying higher level design patterns. The book will show you the complexities of string and file manipulation, and how Python distinguishes between binary and textual data. Not one, but two very powerful automated testing systems, unittest and pytest, will be introduced in this book. You'll get a comprehensive introduction to Python's concurrent programming ecosystem.

By the end of the book, you will have thoroughly learned object-oriented principles using Python syntax and be able to create robust and reliable programs confidently.

What you will learn

  • Implement objects in Python by creating classes and defining methods
  • Grasp common concurrency techniques and pitfalls in Python 3
  • Extend class functionality using inheritance
  • Understand when to use object-oriented features, and more importantly when not to use them
  • Discover what design patterns are and why they are different in Python
  • Uncover the simplicity of unit testing and why it's so important in Python
  • Explore concurrent object-oriented programming

Who this book is for

If you're new to object-oriented programming techniques, or if you have basic Python skills and wish to learn in depth how and when to correctly apply OOP in Python, this is the book for you. If you are an object-oriented programmer for other languages or seeking a leg up in the new world of Python 3.8, you too will find this book a useful introduction to Python. Previous experience with Python 3 is not necessary.

Table of Contents

  1. Object-oriented Design
  2. Objects in Python
  3. When Objects Are Alike
  4. Expecting the Unexpected
  5. When to Use Object-oriented Programming
  6. Python Data Structures
  7. Python Object-oriented Shortcuts
  8. Strings and Serialization
  9. The Iterator Pattern
  10. Python Design Patterns I
  11. Python Design Patterns II
  12. Testing Object-oriented Programs
  13. Concurrency


There are 1 reviews for this book on GitHub.
gutfeeling left a review on GitHub 4 years ago.

Awesome book for mastering Python object oriented programming

I learned Python in the context of science and was trained in writing procedural scripts. Of course, I knew how to write simple classes, but that was about it. But in 2014, I moved into web development and felt the need for object oriented programming. That's when I got this book to improve my knowledge of Python object oriented programming and design patterns.

The book far exceeded my expectations. It started with simple Python classes, so a complete noob in object oriented programming, such as I, was able to follow along easily. But in a matter of days, I was learning advanced and powerful concepts like inheritance, decorators and metaprogramming. The book also has a section of design patterns, which helped me figure out how to design larger projects and pick up important concepts like DRY (Don't Repeat Yourself). I use the knowledge I gained from this book on an everyday basis now.

What I liked about the book

  • The coding style in this book is truly beautiful. It helped me learn what is Pythonic and what's not and helped me develop a deep appreciation for the beauty of Python.

  • The book is quite slim, so I managed to finish it in a month.

What I didn't like about this book

  • Nothing that I recall. I enjoyed it thoroughly.

I have recommended this book to all my friends who wanted to improve their knowledge of Python object oriented programming. The book assumes a certain level of knowledge in procedural Python programming. So if you are at that level, you can definitely give this a try.

Write a review

Read this book? Comment on this book's GitHub issue page and share what you liked and what you didn't like about it. Your GitHub comment will show up as a review here.