Python 复数数据类型详解(complex)[学习 Python 必备基础知识][看此一篇就够了](python能做什么)

网友投稿 288 2022-06-26


您的“关注”和“点赞”,是信任,是认可,是支持,是动力......

如意见相佐,可留言。

本人必将竭尽全力试图做到准确和全面,终其一生进行修改补充更新。

目录

1 复数数据类型概述

2 从复数中提取实部和虚部

3 相关函数 complex()

3.1 complex() 函数概述

3.2 注意事项

4 文章其他地址

4.2 CSDN 博客

5 参考资料

5.1 Python 3.8.2 documentation

1 复数数据类型概述

复数数据类型,简称复数类型。

在 Python 中用complex表示。

复数类型是 Python 的内置类型,直接书写即可。

复数由实部(real part)和虚部(imaginary part)构成,分别以一个浮点数表示。

在 Python 中,复数的虚部以小写字母j或者大写字母J作为后缀(虚数单位),具体格式如下所示:

a + bj 或 a + bJ

说明:

a 表示实部;

b 表示虚部。

实例如下所示:

complex1 = 22 + 12j

print('complex1 =', complex1)

print('complex1 的类型为:', type(complex1))

运行结果:

complex1 = (22+12j)

complex1 的类型为:

2 从复数中提取实部和虚部

要从一个复数 z 中提取这两个部分,可使用 z.real 和 z.imag。 如下所示:

complex1 = 22 + 12j

print('复数 complex1 中的实部为:', complex1.real)

print('复数 complex1 中的虚部为:', complex1.imag)

运行结果:

复数 complex1 中的实部为: 22.0

复数 complex1 中的虚部为: 12.0

3 相关函数 complex()

3.1 complex() 函数概述

class complex([real[,imag]])

说明:

返回值:返回值为 real + imag*1j 的复数,或将字符串或数字转换为复数。如下例一所示。

如果第一个形参是字符串,则它被解释为一个复数,并且函数调用时必须没有第二个形参。如下例二所示。

第二个形参不能是字符串。如下例三所示。

每个实参都可以是任意的数值类型(包括复数)。

如果省略了 imag,则默认值为零,构造函数会像int 和 float 一样进行数值转换。如下例四所示。

如果两个实参都省略,则返回 0j。如下例五所示。

实例如下所示:

例一,

complex_demo1 = complex('22') # 将字符串 "22" 转换为复数

print('complex_demo1 =', complex_demo1)

complex_demo2 = complex(22) # 将数字 22 转换为复数

print('complex_demo2 =', complex_demo2)

运行结果:

complex_demo1 = (22+0j)

complex_demo2 = (22+0j)

例二,

complex_demo3 = complex('22', 11) # 如果第一个形参是字符串,则它被解释为一个复数,并且函数调用时必须没有第二个形参,否则会报错

print('complex_demo3 =', complex_demo3)

运行结果:

complex_demo3 = complex('22', 11) # 如果第一个形参是字符串,则它被解释为一个复数,并且函数调用时必须没有第二个形参,否则会报错

TypeError: complex() can't take second arg if first is a string

例三,

complex_demo4 = complex(22, '11') # 第二个形参不能是字符串,否则会报错

print('complex_demo4 =', complex_demo4)

运行结果:

complex_demo4 = complex(22, '11') # 第二个形参不能是字符串,否则会报错

TypeError: complex() second arg can't be a string

例四,

complex_demo5 = complex(22) # 如果省略了 `imag`,则默认值为零,构造函数会像`int` 和 `float` 一样进行数值转换

print('complex_demo5 =', complex_demo5)

运行结果:

complex_demo5 = (22+0j)

例五,

complex_demo6 = complex() # 如果两个实参都省略,则返回 `0j`

print('complex_demo6 =', complex_demo6)

运行结果:

complex_demo6 = 0j

3.2 注意事项

当从字符串转换时,字符串在 + 或 - 的周围(前后)必须不能有空格。如下所示:

complex_demo1 = complex('13+24j') # 当从字符串转换时,字符串在 `+` 或 `-` 的周围(前后)必须不能有空格,否则会报错

# complex_demo1 = complex('13 + 24j') # 错误写法

print('complex_demo1 =', complex_demo1)

complex_demo2 = complex('33-22j') # 当从字符串转换时,字符串在 `+` 或 `-` 的周围(前后)必须不能有空格,否则会报错

# complex_demo2 = complex('33 - 22j') # 错误写法

print('complex_demo2 =', complex_demo2)

运行结果:

complex_demo1 = (13+24j)

complex_demo2 = (33-22j)


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:使用堆数据结构在python中实现优先级队列(python堆排序)
下一篇:Django开发文档-域用户集成登录(django登录界面)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~