首页 > 开发 > Python > 正文

Python complex()方法

2023-04-24 19:21:35
字体:
来源:转载
供稿:网友

Python complex()方法用于生成一个复数数字。复数是值如real + imag * 1j的数字形式。

complex()的语法格式

一个复数包含实部和虚部两部分,且是complex类的数据类型。因此,Python中的complex()方法语法格式如下:

class complex([ real[, imag]])

参数

real :可选参数,用于指定转换的结果的复数实部,该参数可以接收能转换为复数的一个字符串。

imag:可选参数,用于指定转换的结果的复数虚部。

返回值

该方法的返回值是形如 real + imag * j的复数。

从语法中,我们可以看出,complex()方法可能不含参数,也可能含1个参数或2个参数。下面分别举例说明。

complex()示例

(1)不带参数

#不带参数
c = complex()
print(c)

输出结果:

0j

(2)使用数字作为参数

#使用数字作为参数
c1 = complex(1,2)
print("c1 =",c1)

c2 = complex(1.1,2.34)
print("c2 =",c2)

c3 = complex(-2.1,-3.34)
print("c3 =",c3)

c4 = complex(1.2, -3.34)
print("c4 =",c4)

c5 = complex(-12)
print("c5 =",c5)

输出结果:

c1 = (1+2j)
c2 = (1.1+2.34j)
c3 = (-2.1-3.34j)
c4 = (1.2-3.34j)
c5 = (-12+0j)

(3)使用字符串作为参数

#使用字符串作为参数
s1 = "1.1+2.2j"
c = complex(s1)
print(c)

c = complex("2")
print(c)

输出结果:

(1.1+2.2j)
(2+0j)
当使用字符串作为参数时,需要注意以下两点:

①字符串中不能含有任何空白字符;

②使用字符串作为参数时,complex只能有字符串这一个参数。

下图演示了字符串中含有空格及字符串作为参数时,参数个数多于1时的情景。

即当字符串参数中含有空白字符时会引发ValueError错误,指出参数是畸形字符串。

当参数为字符串时,而给出2个参数时会引发TypeError错误。

(4)参数是其它进制的情况

#参数是其它进制
c = complex(0XA1)
print("complex(0xA1)=",c)
c = complex(0XF2,0b1101)
print("complex(0XF2,0b1101)=",c)
c = complex(-0O72,-12.3)
print("complex(-0O72,-12.3)=",c)

输出结果:

complex(0xA1)= (161+0j)
complex(0XF2,0b1101)= (242+13j)
complex(-0O72,-12.3)= (-58-12.3j)

(5)参数是复数

complex()的参数允许是另外一个复数。

#参数是复数
c = complex(3,12+34j)
print("complex(3,12+34j)=",c)
c=complex(2-3j, 2)
print("complex(2-3j, 2)=",c)
c = complex(2-3j, 1+2j)
print("complex(2-3j,1+2j)=",c)

输出结果:

complex(3,12+34j)= (-31+12j)
complex(2-3j, 2)= (2-1j)
complex(2-3j,1+2j)= -2j

其计算过程如下:

在complex(real,imag)方法中,结果的计算方法为:real + imag * j

以第1个例子的计算方法为例:

3 +(12+34j)*j = 3 + 12j -34 = -31+12j

注意:j *j = -1

在Python3.6中,新增了对以下划线分组数据的支持,如:

c=complex(1_200.1,-2.2)
print(c)

输出内容:

(1200.1-2.2j)

总结

complex()方法的作用是返回a + bj的复数形式;

当没有向参数传递任何参数时,该方法返回0j;

当参数是数字时,可以使用任何形式的数字,包括二进制、八进制和十六进制等;

complex()方法可以把一个复数字符串转换为复数,当第一个参数是字符串时,不允许使用第2个参数;

参数是字符串时,字符串中不允许有任何形式的空白;

在Python3.6之后的版本中也允许使用以下划线作为分隔符的分组数字。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表