class call message 'class calldirect class call instance changed again calls routed through the instance and the class have the exact same effectas long as we pass the same instance object ourselves in the class form by defaultin factyou get an error message if you try to call method without any instancenextclass printer('bad call'typeerrorunbound method printer(must be called with nextclass instance calling superclass constructors methods are normally called through instances calls to methods through classthoughdo show up in variety of special roles one common scenario involves the constructor method the __init__ methodlike all attributesis looked up by inheritance this means that at construction timepython locates and calls just one __init__ if subclass constructors need to guarantee that superclass construction-time logic runstoothey generally must call the superclass' __init__ method explicitly through the classclass superdef __init__(selfx)default code class sub(super)def __init__(selfxy)super __init__(selfxcustom code run superclass __init__ do my init actions sub( this is one of the few contexts in which your code is likely to call an operator overloading method directly naturallyyou should call the superclass constructor this way only if you really want it to run--without the callthe subclass replaces it completely for more realistic illustration of this technique in actionsee the manager class example in the prior tutorial other method call possibilities this pattern of calling methods through class is the general basis of extending-instead of completely replacing--inherited method behavior it requires an explicit instance to be passed because all methods do by default technicallythis is because methods are instance methods in the absence of any special code on related noteyou can also code multiple __init__ methods within the same classbut only the last definition will be usedsee for more details on multiple method definitions class coding details