In part 3 of the Metaclass programming in Python series, Michele and David help programmer
eschew cleverness that makes design more complicated, code more fragile, and the learning curves steeper in programming. In
Part 1 learn how metaclasses can enhance classes with features like tracing capabilities to push object-oriented programming to the next level, then in
Part 2 understand the arcana of inheritance and instance creation to solve and explain metaclass conflicts.