class myAbstractClass: def __init__(self): if self.__class__ is myAbstractClass: raise NotImplementedError,"Class %s does not implement __init__(self)" % self.__class__ def method1(self): raise NotImplementedError,"Class %s does not implement method1(self)" % self.__class__ class myClass(myAbstractClass): def __init__(self): pass m = myClass() m.method1() #//python/1869