[Python-Dev] return type of __complex__

Terry Reedy tjreedy at udel.edu
Sun Oct 21 17:34:05 CEST 2012


On 10/21/2012 5:45 AM, Mark Dickinson wrote:
> On Sun, Oct 21, 2012 at 6:26 AM, Greg Ewing <greg.ewing at canterbury.ac.nz> wrote:
>> I think I've changed my mind on this, since it was pointed
>> out that if you're going to return a float instead of a
>> complex, you should really be implementing __float__, not
>> __complex__.
>
> Yes, I'm wavering on this, too.  I'm reasonably convinced that the
> complex constructor is wrong to accept a float return from
> __complex__.  But it's not clear to me whether it's better to break
> backwards compatibility by fixing that in 3.4, or to accept the
> mistake and make cmath behave analogously.

I think we should fix it. A float return appears very rare, as well as 
wrong.


-- 
Terry Jan Reedy



More information about the Python-Dev mailing list