summary we took an abstract look at classes and oop in this taking in the big picture before we dive into syntax details as we've seenoop is mostly about an argument named selfand search for attributes in trees of linked objects called inheritance objects at the bottom of the tree inherit attributes from objects higher up in the tree -- feature that enables us to program by customizing coderather than changing it or starting from scratch when used wellthis model of programming can cut development time radically the next will begin to fill in the coding details behind the picture painted here as we get deeper into python classesthoughkeep in mind that the oop model in python is very simpleas we've seen hereit' really just about looking up attributes in object trees and special function argument before we move onhere' quick quiz to review what we've covered here test your knowledgequiz what is the main point of oop in python where does an inheritance search look for an attribute what is the difference between class object and an instance object why is the first argument in class' method function special what is the __init__ method used for how do you create class instance how do you create class how do you specify class' superclassestest your knowledgeanswers oop is about code reuse--you factor code to minimize redundancy and program by customizing what already exists instead of changing code in place or starting from scratch an inheritance search looks for an attribute first in the instance objectthen in the class the instance was created fromthen in all higher superclassesprogressing from the bottom to the top of the object treeand from left to right (by defaultthe search stops at the first place the attribute is found because the lowest version of name found along the way winsclass hierarchies naturally support customization by extension in new subclasses test your knowledgeanswers