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

Reply via email to