1. Python中complex复数类型
1.1 复数的简要描述
虚数由实部和虚部两个部分构成:
real+imag(虚部后缀为j或J)
其中实数部分和虚数部分都为浮点数。
例如定义一个虚数,分别输出它的实部和虚部:
a=4.7+0.666j #定义一个虚数
print(a) #输出这个虚数
print(a.real) #输出实部
print(a.imag) #输出虚部
print(a.conjugate()) #输出该复数的共轭复数
其中,conjugate( )为complex类的内置函数,作用为输出复数的共轭复数。
1.2 complex()函数
complex()函数用于创建一个复数或者将一个数或字符串转换为复数形式,其返回值为一个复数。该函数的语法为:
class complex(real,imag)
其中,real可以为int、long、float或字符串类型;而image只能为int、long、或float类型。
注意:如果第一个参数为字符串,第二个参数必须省略,若第一个参数为其他类型,则第二个参数可以选择。实例:
complex(1, 2)
(1 + 2j)
complex(1) # 数字
(1 + 0j)
complex(“1”) # 当做字符串处理
(1 + 0j)
注意:这个地方在"+“号两边不能有空格,也就是不能写成"1 + 2j”,应该是"1+2j",否则会报错
complex(“1+2j”)
(1 + 2j)
第一个参数为字符串,还添加第二个参数时会报错:
print(complex(‘111’,2))
TypeError: complex() can’t take second arg if first is a string
1.3 复数的旧式格式化输出
在格式化输出时,使用%r或%s都可以。
(%s和%r的区别可以参考复数的格式化输出)
在输出复数时,%r和%s的效果如下:
a=4.7+0.666j
print('%r的效果是:')
print('%r'%(a))
print('%s的效果是:')
print('%s'%(a))
输出结果:
%r的效果是:
(4.7+0.666j)
%s的效果是:
(4.7+0.666j)
可见效果是一致的。