c_powu

multiply based on 2

complex_repr

something interesting

NaN = float("nan")
assert complex(-0, NaN) == "nanj"
assert complex(-0.0, NaN) == "(-0+nanj)"

Then you shall know even though Python erase much difference between int and float, but they are truly differently treated in some cases.