NotImplemented used in Decimal
Steven D'Aprano
steve at REMOVE-THIS-cybersource.com.au
Sat Apr 24 02:25:05 EDT 2010
On Sat, 24 Apr 2010 09:05:14 +0530, Kushal Kumaran wrote:
> On Sat, Apr 24, 2010 at 8:54 AM, Steven D'Aprano
> <steve at remove-this-cybersource.com.au> wrote:
>> 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.
>>
>>
> There's a _convert_other method which is called before the test that can
> return NotImplemented.
Yes, I can see that, but why?
--
Steven
More information about the Python-list
mailing list