[Python-Dev] return type of __complex__
Mark Dickinson
dickinsm at gmail.com
Sun Oct 21 11:45:07 CEST 2012
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.
> Also PyComplex_AsComplex() should perhaps enforce that.
It already does. `complex_new` doesn't use `PyComplex_AsCComplex`.
--
Mark
More information about the Python-Dev
mailing list