andrew cooke schrieb:
>> Just a correction: according to the doc, NotImplemented is not an
>> error, but a returned value.
> 
> curious, so it is.  i wonder why there is both a special return value
> (NotIMplemented) and a related exception (NotImplementedError).  seems
> very odd to have a value...

They are different and unrelated things. The NotImplentedError is an
exception class while NotImplemented is a singleton like None. When a
method like __add__ can't handle the other object it returns
NotImplemented. It doesn't raise a NotImplementedError. The
NotImplemented singleton is an optimization. The interpreter just has to
compare the memory address of the returned value with the address of
NotImplemented. That's a super fast op in C.

Christian

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to