复数存放的是一对浮点数,一个表示实数部分,另一个表示虚数部分(跟随一个字母j)
>>>z = 1 + 1j;
>>>z.real,z.imag; #real代表实数的属性名,imag代表虚数的属性名
(1.0, 1.0)
除//、%、divmod()以及三个参数的pow()外,其它操作符与函数都可用于复数进行操作,赋值操作符的增强版也可以
>>>z = 1 + 1j;
>>>z.conjugate(); #改变虚数部分的符号
(1 - 1j)
complex(x, y)
>>>complex() = 0j;
>>>complex(1 + 1j);
(1 + 1j)
>>>complex(1.0, 1.0);
(1 + 1j)
cmath.phase(x) #返回复数在极坐标的相位x,phase(x)相当于math.atan2(x.imag, x.real)
>>>cmath.phase(complex(-1.0, 0.0));
3.141592653589793
cmath.polar(x) #返回复数x在极坐标的表示(r, phi),polar(x)相当于(abs(x), phase(x))
>>>cmath.polar(complex(-1.0, 0.0));
(1.0, 3.141592653589793)
cmath.rect(r, phi) #用极坐标r和phi返回复数x,相当于r * (math.cos(phi) + math.sin(phi) * 1j)
>>>cmath.rect(1.0, cmath.pi);
(-1 + 1.2246467991473532e-16j)