three other classes (customerclerkparrotthe embedded instance' classes may also participate in an inheritance hierarchycomposition and inheritance are often equally useful ways to structure classes for code reuse why you will careoop by the masters when teach python classesi invariably find that about halfway through the classpeople who have used oop in the past are following along intenselywhile people who have not are beginning to glaze over (or nod off completelythe point behind the technology just isn' apparent in book like thisi have the luxury of including material like the new big picture overview in and the gradual tutorial of --in factyou should probably review that section if you're starting to feel like oop is just some computer science mumbo-jumbo though it adds much more structure than the generators we met earlieroop similarly relies on some magic (inheritance search and special first argumentthat beginners can find difficult to rationalize in real classeshoweverto help get the newcomers on board (and keep them awake) have been known to stop and ask the experts in the audience why they use oop the answers they've given might help shed some light on the purpose of oopif you're new to the subject herethenwith only few embellishmentsare the most common reasons to use oopas cited by my students over the yearscode reuse this one' easy (and is the main reason for using oopby supporting inheritanceclasses allow you to program by customization instead of starting each project from scratch encapsulation wrapping up implementation details behind object interfaces insulates users of class from code changes structure classes provide new local scopeswhich minimizes name clashes they also provide natural place to write and look for implementation codeand to manage object state test your knowledgepart vi exercises