On Aug 18, 2:09 pm, James Harris <james.harri...@googlemail.com> wrote: > I am writing some code to form a tree of nodes of different types. The > idea is to define one class per node type such as > > class node_type_1(node): > <specific properties by name including other node types> > class node_type_2(node): > <specific properties by name including other node types> > etc > > (Class "node" would hold any common properties). > > When walking the tree I need to know what type of node I'm dealing > with so polymorphism isn't generally useful. The action to be taken > depends on the node type. Two options appear to be useful: __class__ > and isinstance. I know the latter will match the instance against any > superclass and the former will match one class only. > > My question is: is this the Pythonic way to deal with such a tree? Is > there a better way? In C I would use structs where one field was a tag > indicating the kind of struct. > > James
I would probably go with hasattr(instance, 'what_I_want') André -- http://mail.python.org/mailman/listinfo/python-list