A Deeper Introduction to Object Oriented Programming in Python with a Focus on Domain Models — In a previous post, I introduced some of the fundamental Object Oriented Programming (OOP) principals, such as classes, methods, and attributes, as well as one of the core ideas behind OOP, abstraction. Abstraction, in short, is an OOP concept for simplifying complicated or repetitious code by focusing only on the…