Language
  • Python 3
Reading time
  • Approximately 46 days
What you will learn
  • Advanced Python Concepts
  • High Performance Computing
Author
  • Dusty Phillips
Published
  • 2 years, 1 month ago
Book cover of Python 3 Object-Oriented Programming - Second Edition by Dusty Phillips

Official description

Unleash the power of Python 3 objects

About This Book

  • Stop writing scripts and start architecting programs
  • Learn the latest Python syntax and libraries
  • A practical, hands-on tutorial that teaches you all about abstract design patterns and how to implement them in Python 3

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 object-oriented programming in Python to design software, this is the book for you.

What You Will Learn

  • Implement objects in Python by creating classes and defining methods
  • Separate related objects into a taxonomy of classes and describe the properties and behaviors of those objects via the class interface
  • 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
  • Grasp common concurrency techniques and pitfalls in Python 3
  • Exploit object-oriented programming in key Python technologies such as Kivy and Django.
  • Object-oriented programming concurrently with asyncio

In Detail

Python 3 is more versatile and easier to use than ever. It runs on all major platforms in a huge array of use cases. Coding in Python minimizes development time and increases productivity in comparison to other languages. Clean, maintainable code is easy to both read and write using Python's clear, concise syntax.

Object-oriented programming is a popular design paradigm in which data and behaviors are encapsulated in such a way that they can be manipulated together. Many modern programming languages utilize the powerful concepts behind object-oriented programming and Python is no exception.

Starting with a detailed analysis of object-oriented analysis and design, you will use the Python programming language to clearly grasp key concepts from the object-oriented paradigm. This book fully explains classes, data encapsulation, inheritance, polymorphism, abstraction, and exceptions with an emphasis on when you can use each principle to develop well-designed software.

You'll get an in-depth analysis of many common object-oriented design patterns that are more suitable to Python's unique style. This book will not just teach Python syntax, but will also build your confidence in how to program.

You will also learn how to create maintainable applications by studying higher level design patterns. Following this, you'll learn 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 will be introduced in the book. After you discover the joy of unit testing and just how easy it can be, you'll study higher level libraries such as database connectors and GUI toolkits and learn how they uniquely apply object-oriented principles. You'll learn how these principles will allow you to make greater use of key members of the Python eco-system such as Django and Kivy.

This new edition includes all the topics that made Python 3 Object-oriented Programming an instant Packt classic. It's also packed with updated content to reflect recent changes in the core Python library and covers modern third-party packages that were not available on the Python 3 platform when the book was first published.

Style and approach

Throughout the book you will learn key object-oriented programming techniques demonstrated by comprehensive case studies in the context of a larger project.

Reviews

There are 1 reviews for this book on GitHub.
gutfeeling left a review on GitHub 2 months 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.