Consider class FinalTreeNode(object): def childs(self): return []
class UsualTreeNode(FinalTreeNode) def childs(self): return ... In this structure UsualTreeNode derives from FinalTreeNode. Is it better to introduce an extra base class? class BaseTreeNode(object): def childs(self): return [] # The same functionality as BaseTreeNode, but logically distinct class FinalTreeNode(BaseTreeNode): pass # Not derived from FinalTreeNode, because it is not logically final class UsualTreeNode(BaseTreeNode) def childs(self): return ... -- Victor Porton - http://portonvictor.org -- https://mail.python.org/mailman/listinfo/python-list