like simple functionsbound method objects have introspection information of their ownincluding attributes that give access to the instance object and method function they pair calling the bound method simply dispatches the pairbound double bound __self__bound __func__ (bound __self__ base bound(calls bound __func__(bound __self__ other callables in factbound methods are just one of handful of callable object types in python as the following demonstratessimple functions coded with def or lambdainstances that inherit __call__and bound instance methods can all be treated and called the same waydef square(arg)return arg * class sumdef __init__(selfval)self val val def __call__(selfarg)return self val arg class productdef __init__(selfval)self val val def method(selfarg)return self val arg simple functions (def or lambdacallable instances bound methods sobject sum( pobject product( actions [squaresobjectpobject methodfunctioninstancemethod for act in actionsprint(act( ) actions[- ]( [act( for act in actions[ list(map(lambda actact( )actions)[ designing with classes all three called same way call any one-arg callable indexcomprehensionsmaps