Book Image

Python: Real-World Data Science

By : Fabrizio Romano, Dusty Phillips, Phuong Vo.T.H, Martin Czygan, Robert Layton, Sebastian Raschka
Book Image

Python: Real-World Data Science

By: Fabrizio Romano, Dusty Phillips, Phuong Vo.T.H, Martin Czygan, Robert Layton, Sebastian Raschka

Overview of this book

The Python: Real-World Data Science course will take you on a journey to become an efficient data science practitioner by thoroughly understanding the key concepts of Python. This learning path is divided into four modules and each module are a mini course in their own right, and as you complete each one, you’ll have gained key skills and be ready for the material in the next module. The course begins with getting your Python fundamentals nailed down. After getting familiar with Python core concepts, it’s time that you dive into the field of data science. In the second module, you'll learn how to perform data analysis using Python in a practical and example-driven way. The third module will teach you how to design and develop data mining applications using a variety of datasets, starting with basic classification and affinity analysis to more complex data types including text, images, and graphs. Machine learning and predictive analytics have become the most important approaches to uncover data gold mines. In the final module, we'll discuss the necessary details regarding machine learning concepts, offering intuitive yet informative explanations on how machine learning algorithms work, how to use them, and most importantly, how to avoid the common pitfalls.
Table of Contents (12 chapters)
Free Chapter
1
Table of Contents
2
Python: Real-World Data Science
3
Meet Your Course Guide
4
What's so cool about Data Science?
5
Course Structure
6
Course Journey
7
The Course Roadmap and Timeline
12
Index

Chapter 12. Python Design Patterns II

In this chapter we will be introduced to several more design patterns. Once again, we'll cover the canonical examples as well as any common alternative implementations in Python. We'll be discussing:

  • The adapter pattern
  • The facade pattern
  • Lazy initialization and the flyweight pattern
  • The command pattern
  • The abstract factory pattern
  • The composition pattern

The adapter pattern

Unlike most of the patterns we reviewed in Chapter 8, Strings and Serialization, the adapter pattern is designed to interact with existing code. We would not design a brand new set of objects that implement the adapter pattern. Adapters are used to allow two pre-existing objects to work together, even if their interfaces are not compatible. Like the display adapters that allow VGA projectors to be plugged into HDMI ports, an adapter object sits between two different interfaces, translating between them on the fly. The adapter object's sole purpose is to perform...