#!/usr/bin/python class AbstractClass:#{{{ ''' Abstract class ''' def __init__(self):#{{{ self._check_instantiation() #}}} def _check_instantiation(self):#{{{ ''' Anti-instantiation trap ''' if self.__class__.__name__ == 'AbstractClass': raise Exception('Can not instantiate abstract class AbstractClass') #}}} #}}} class ChildClass(AbstractClass):#{{{ def __init__(self):#{{{ pass #}}} #}}} #ac = AbstractClass() #raises an exception cc = ChildClass()