10.1 Introduction
10.2 Custom Class Account
10.3 Controlling Access to Attributes
10.4 Properties for Data Access
10.5 Simulating “Private” Attributes
10.6 Case Study: Card Shuffling and Dealing Simulation
10.7 Inheritance: Base Classes and Subclasses
10.8 Building an Inheritance Hierarchy; Introducing Polymorphism
10.9 Duck Typing and Polymorphism
10.10 Operator Overloading
10.11 Exception Class Hierarchy and Custom Exceptions
10.12 Named Tuples
10.13 A Brief Intro to Python 3.7’s New Data Classes
10.14 Unit Testing with Docstrings and doctest
10.15 Namespaces and Scopes
10.16 Intro to Data Science: Time Series and Simple Linear Regression
10.17 Wrap-Up
Exercises