methods in generaland bound methods in particularsimplify the implementation of many design goals in python we met bound methods briefly while studying __call__ in the full storywhich we'll flesh out hereturns out to be more general and flexible than you might expect in we learned how functions can be processed as normal objects methods are kind of object tooand can be used generically in much the same way as other objects--they can be assigned to namespassed to functionsstored in data structuresand so on--and like simple functionsqualify as "first classobjects because class' methods can be accessed from an instance or classthoughthey actually come in two flavors in pythonunbound (classmethod objectsno self accessing function attribute of class by qualifying the class returns an unbound method object to call the methodyou must provide an instance object explicitly as the first argument in python xan unbound method is the same as simple function and can be called through the class' namein it' distinct type and cannot be called without providing an instance bound (instancemethod objectsself function pairs accessing function attribute of class by qualifying an instance returns bound method object python automatically packages the instance with the function in the bound method objectso you don' need to pass an instance to call the method both kinds of methods are full-fledged objectsthey can be transferred around program at willjust like strings and numbers both also require an instance in their first argument when run ( value for selfthis is why we've had to pass in an instance explicitly when calling superclass methods from subclass methods in previous examples (including this employees py)technicallysuch calls produce unbound method objects along the way when calling bound method objectpython provides an instance for you automatically--the instance used to create the bound method object this means that bound method objects are usually interchangeable with simple function objectsand makes them especially useful for interfaces originally written for functions (see the sidebar "why you will carebound method callbackson page for realistic use case in guisto illustrate in simple termssuppose we define the following classclass spamdef doit(selfmessage)print(messagenowin normal operationwe make an instance and call its method in single step to print the passed-in argument designing with classes