On May 14, 9:09 am, [EMAIL PROTECTED] wrote: > Hello :) > > I am new to python and I don't have much expirience in object-oriented > technologies neither. > > The problem is the following: I have to create a simple python > template script that will always follow the same algorithm, let's say: > - read a mesh > - transform the mesh (let's say, refine) > > The last step should be a kind of a black box: > - the same input data format > - some algorithme inside > - the same output data format > > A number of different refine methods should be implemented. The end- > user must be able to write easily a new method and call it from the > base script without any major change. > > Something like this would be a solution (no classes created, no OO > programming): > - a module defining REFINE1(mesh), REFINE2(mesh), ... > - in the script: > from MODULE import REFINE2 as REFINE > REFINE(mesh) > > Is it a proper solution for this kind of problem? How would you > implement this kind of task?
Why not OO? This is a good problem for OO. For example: there is a base class (BaseMesh) that will take care of loading your mesh,provide a generic (possibly empty) refine() method, output the mesh and have a bunch of utility functions. You can put that in a module like meshing.py. Then the user will do: -------------------------------------------- from meshing import BaseMesh class UsersMesh(BaseMesh): def __init__(self,...): BaseMesh.__init__(self,...) ....etc. initializer... def refine(self,...): ...user's refine method would go here... -------------------------------------------------- So for each different refine() method the user can derive a new class from BaseMesh and overload the refine(...) method. Hope that helps, -Nick Vatamaniuc -- http://mail.python.org/mailman/listinfo/python-list