Jordan Rastrick wrote: > I've coded some simple recursive tree data structures using OO before > (unfortunately not in Python though). It's not nessecarily an > ill-suited approach to the task, although it depends on the specific > details of what you're doing. What's the the piece of code from which > your if...elif fragment is taken actually supposed to do? > > Without knowing more about your problem, I think the most obvious OO > approach would be to write a seperate (simple) class for each of > node_type_1, node_type_2, etc. Make sure each one provides the same > interface, i.e. defines the same set of methods. Then put the different > decision branches as implementations of a certain method in each class. > > class Node_Type_1(object): > def recurse(self): > # do stuff here >
etc etc and perhaps if you found by the time you got to Node_Type_2 that its opensesame() method was identical to the opensesame() method for Node_Type_1, you might decide that having separate simple classes could be improved on by having a Node class, which you would subclass for each Node_Type_n ... -- http://mail.python.org/mailman/listinfo/python-list