NotImplemented used in Decimal

Steven D'Aprano steve at
Fri Apr 23 23:24:52 EDT 2010

I'm reading the source code for decimal.Decimal, and I see that the 
arithmetic operations (__add__, __sub__, etc.) start with code like this:

        if other is NotImplemented:
            return other

I don't understand the purpose of this. I presume that it is *not* for 
the use-case of:

d = Decimal('123.456')
result = d + NotImplemented

which not only doesn't make sense to me, but when I try it, it raises 
TypeError. So I find myself confused why the arithmetic methods do this.


More information about the Python-list mailing list