You could a real generic superclass for the classes, it only needs to contain that one function.
Personally, I see nothing wrong with chucking one function in a module on it's own, it's whatever works for you. You could create a class for it also, and give each of the other classes an instance of that function's class. Regards, Liam Clarke On Sun, 27 Feb 2005 20:20:19 +0200, Xif <[EMAIL PROTECTED]> wrote: > Javier Ruere wrote: > > > Xif wrote: > > > >> Hello > >> > >> There are several different objects. However, they all share the same > >> function. > >> > >> Since they are not the same or similar, it's not logical to use a > >> common superclass. > >> > >> So I'm asking, what's a good way to allow those objects to share that > >> function? > >> > >> The best solution I've found so far is to put that function in a > >> module, and have all objects import and use it. But I doubt that's a > >> good use-case for modules; writing and importing a module that contains > >> just a single function seems like an abuse. > >> > >> Thanks, > >> Xif > > > > > > Could you give an example? > > > > Javier > > > > _______________________________________________ > > Tutor maillist - Tutor@python.org > > http://mail.python.org/mailman/listinfo/tutor > > > > +++++++++++++++++++++++++++++++++++++++++++ > > This Mail Was Scanned By Mail-seCure System > > at the Tel-Aviv University CC. > > > Sure, I can describe my particular case. > > It's a program that retrieves / updates Microsoft Excel spreadsheet data. > > There are two major classes: > > 1) an Excel class, that represents of the whole Excel program > 2) a Cells class, that abstracts retrieval and editing of cells. > > Both classes use a function called getCells() as part of their > __getitem__() methods. > > getCells() parses the __getitem__() call arguments, and returns an > iterator over the appropriate cells. > > The difference between the 2 classes is that a Cells instance just > converts the generator into a list and returns it: > > #<code> > return list(getCells(self.sheet, cells)) > #</code> > > while an Excel instance returns the values of the cells: > > #<code> > return [cell.Value for cell in getCells(self.sheet, cells)] > #</code> > > As you can see, both use the getCells() function. > > So my question is, where is the best way to put it so instances of both > classes can use it? > > Xif > _______________________________________________ > Tutor maillist - Tutor@python.org > http://mail.python.org/mailman/listinfo/tutor > -- 'There is only one basic human right, and that is to do as you damn well please. And with it comes the only basic human duty, to take the consequences. _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor