On Feb 9, 6:47 pm, Martin Drautzburg <martin.drautzb...@web.de> wrote: > BTW I am not really trying to add three objects, I wanted a third object > which controls the way the addition is done. Sort of like "/" and "//" > which are two different ways of doing division.
That seems like a reasonable use case for a third parameter to __add__, though as others have pointed out the only way to pass the third argument is to call __add__ explicitly. Here's an extract from the decimal module: class Decimal(object): ... def __add__(self, other, context=None): other = _convert_other(other) if other is NotImplemented: return other if context is None: context = getcontext() <add 'self' and 'other' in context 'context'> ... And here's how it's used in the decimal.Context module: class Context(object): ... def add(self, a, b): """Return the sum of the two operands. >>> ExtendedContext.add(Decimal('12'), Decimal('7.00')) Decimal('19.00') >>> ExtendedContext.add(Decimal('1E+2'), Decimal('1.01E+4')) Decimal('1.02E+4') """ return a.__add__(b, context=self) -- Mark -- http://mail.python.org/mailman/listinfo/python-list