Complex defines the operations that work on the builtin complex type.
In short, those are: a conversion to complex, .real, .imag, +, -, *, /, abs(), .conjugate, ==, and !=.
If it is given heterogenous arguments, and doesn’t have special knowledge about them, it should fall back to the builtin complex type as described below.
x.__init__(…) initializes x; see help(type(x)) for signature
(x+y*i).conjugate() returns (x-y*i).
Retrieve the imaginary component of this number.
Retrieve the real component of this number.