浅谈Python 中的复数问题


Posted in Python onMay 19, 2021

前言

复习试题时,发现一道复数问题

问题

关于 Python 的复数类型,以下选项中描述错误的是

A复数的虚数部分通过后缀“J”或者“j”来表示

B对于复数 z,可以用 z.real 获得它的实数部分

C对于复数 z,可以用 z.imag 获得它的实数部分

D复数类型表示数学中的复数

正确答案: C

首先我们来明确一下什么是复数: 复数在数学上面的定义是由实数部分和虚数部分所组成的数,形如a+bj .

其中a、b为实数,j为“虚数单位”,j 的平方等于-1.a、b分别叫做复数a+bj的实部和虚部。

下面让我们在Python中定义一个复数:real + imag(虚部的单位可以是j或者J)

a = 6 + 0.6j

# 输出这个复数a

print(a)

# 获取实部

print(a.real)

# 获取虚部

print(a.imag)

# 获取该复数的共轭复数

print(a.conjugate())

# 让我们通过complex函数来定义一个复数

a = complex(1, 2)

b = complex(1)

c = complex("1")

d = complex("1+2j")

# 运行结果

浅谈Python 中的复数问题

补充:Python 复数及运算类型问题

在做题的时候遇到了这样的问题:

浅谈Python 中的复数问题

按照数学上的知识,我们通常会认为实部是1.23e+4,也就是12300;虚部是9.87e+6,也就是9870000。

但是程序运行结果却不是这样:

浅谈Python 中的复数问题

为什么和我们想象的不一样呢,这里面涉及到两个问题:

1、实部虚部问题

2、结果类型问题

再来看一些例子:

浅谈Python 中的复数问题

浅谈Python 中的复数问题

浅谈Python 中的复数问题

通过上述例子可以看出,如果我们使用<复数>.<imag>的方式来获取虚部,那么计算机就会将这个复数的实部和虚部相加,并且以浮点数的类型返回。而如果要获取我们通常理解意义上的虚部,则要将这个复数赋给一个变量,通过<变量>.<imag>的方式获取,就能得到“a + bi”模式的虚部。

浅谈Python 中的复数问题

实部的获取相对容易理解,不是紧跟 j 的就是实部,同样以浮点数的类型返回。

另一个问题就是运算类型的问题,Python中有三种数据类型:整数、浮点数、复数。这三种类型数据混合参与运算时,结果的类型采用“最宽范围”的类型,复数类型范围最宽,整数最窄。

在上述例子中,复数的实部、虚部不会是复数类型,则以次于复数类型的浮点数类型返回。

再列出一些运算的例子:

浅谈Python 中的复数问题

浅谈Python 中的复数问题

当然,如果类型保持一致,则以同样类型返回运算结果(类型一致也就是最宽的类型就是他本身的类型)

上述是我通过实验总结出来的,没有查找权威参考资料,若有不正确的地方希望指正。

Python 相关文章推荐
python实现的生成随机迷宫算法核心代码分享(含游戏完整代码)
Jul 11 Python
python基础教程之面向对象的一些概念
Aug 29 Python
Python中threading模块join函数用法实例分析
Jun 04 Python
python 列表,数组,矩阵两两转换tolist()的实例
Apr 04 Python
Python数据结构之图的应用示例
May 11 Python
Python JSON格式数据的提取和保存的实现
Mar 22 Python
django celery redis使用具体实践
Apr 08 Python
Python数据类型之Number数字操作实例详解
May 08 Python
pyqt5 tablewidget 利用线程动态刷新数据的方法
Jun 17 Python
Win10下用Anaconda安装TensorFlow(图文教程)
Jun 18 Python
python 两种方法修改文件的创建时间、修改时间、访问时间
Sep 26 Python
Python 实现PS滤镜的旋涡特效
Dec 03 Python
Python机器学习之基础概述
Python机器学习之PCA降维算法详解
Python 批量下载阴阳师网站壁纸
May 19 #Python
python 如何将两个实数矩阵合并为一个复数矩阵
May 19 #Python
python使用pywinauto驱动微信客户端实现公众号爬虫
python基于tkinter实现gif录屏功能
Python 读写 Matlab Mat 格式数据的操作
May 19 #Python
You might like
php 文件上传代码(限制jpg文件)
2010/01/05 PHP
无JS,完全php面向过程数据分页实现代码
2012/08/27 PHP
基于curl数据采集之正则处理函数get_matches的使用
2013/04/28 PHP
在yii中新增一个用户验证的方法详解
2013/06/20 PHP
php使用mysqli向数据库添加数据的方法
2015/03/20 PHP
基于CakePHP实现的简单博客系统实例
2015/06/28 PHP
PHP设计模式之观察者模式定义与用法示例
2018/08/04 PHP
php反序列化长度变化尾部字符串逃逸(0CTF-2016-piapiapia)
2020/02/15 PHP
20个非常棒的Jquery实用工具 国外文章
2010/01/01 Javascript
5个最佳的Javascript日期处理类库分享
2012/04/15 Javascript
js对象转json数组的简单实现案例
2014/02/28 Javascript
js style动态设置table高度
2014/10/21 Javascript
jQuery搜索子元素的方法
2015/02/10 Javascript
jQuery使用before()和after()在元素前后添加内容的方法
2015/03/26 Javascript
每天一篇javascript学习小结(RegExp对象)
2015/11/17 Javascript
Chrome不支持showModalDialog模态对话框和无法返回returnValue问题的解决方法
2016/10/30 Javascript
jQuery Masonry瀑布流插件使用方法详解
2017/01/18 Javascript
js实现简单的二级联动效果
2017/03/09 Javascript
[34:56]Ti4冒泡赛LGD vs Liquid 1
2014/07/14 DOTA
Python匹配中文的正则表达式
2016/05/11 Python
python图片验证码生成代码
2016/07/02 Python
python 限制函数调用次数的实例讲解
2018/04/21 Python
Python3实现对列表按元组指定列进行排序的方法分析
2018/12/22 Python
对tensorflow 中tile函数的使用详解
2020/02/07 Python
Python如何优雅删除字符列表空字符及None元素
2020/06/25 Python
html5借用repeating-linear-gradient实现一把刻度尺(ruler)
2019/09/09 HTML / CSS
意大利值得信赖的在线超级药房:PillolaStore
2020/02/05 全球购物
什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
2013/05/03 面试题
大学自我鉴定
2013/12/20 职场文书
集体婚礼策划方案
2014/02/22 职场文书
事务机电主管工作职责
2014/02/25 职场文书
自查自纠整改报告
2014/11/06 职场文书
2014年护士工作总结范文
2014/11/11 职场文书
认真学习保证书
2015/02/26 职场文书
2015小学语文教师个人工作总结
2015/05/20 职场文书
四群教育工作总结
2015/08/10 职场文书