[Python-Dev] return type of complex (original) (raw)

Nick Coghlan ncoghlan at gmail.com
Fri Oct 19 16:13:51 CEST 2012


On Fri, Oct 19, 2012 at 11:08 PM, Antonio Cuni <anto.cuni at gmail.com> wrote:

Is that the real intended behavior?

Given the way complex numbers interact with floats generally, returning a complex number with no imaginary component as a floating point value seems legitimate and the checks in cmath overly strict. Otherwise you would get redundancy like:

def __complex__(self):
    return complex(value)

or

def __complex__(self):
    return value + 0j

More importantly, relaxing the checks in cmath is backwards compatible. while tightening up the checks in complex_new is not.

Cheers, Nick.

-- Nick Coghlan | ncoghlan at gmail.com | Brisbane, Australia



More information about the Python-Dev mailing list