浅谈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 相关文章推荐
windows下wxPython开发环境安装与配置方法
Jun 28 Python
Django返回json数据用法示例
Sep 18 Python
python3实现抓取网页资源的 N 种方法
May 02 Python
Python实现的排列组合计算操作示例
Oct 13 Python
Django利用cookie保存用户登录信息的简单实现方法
May 27 Python
python读csv文件时指定行为表头或无表头的方法
Jun 26 Python
python读取指定字节长度的文本方法
Aug 27 Python
Python爬取新型冠状病毒“谣言”新闻进行数据分析
Feb 16 Python
Pycharm安装python库的方法
Nov 24 Python
python excel多行合并的方法
Dec 09 Python
pygame面向对象的飞行小鸟实现(Flappy bird)
Apr 01 Python
python运行脚本文件的三种方法实例
Jun 25 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
神族 Protoss 剧情介绍
2020/03/14 星际争霸
php download.php实现代码 跳转到下载文件(response.redirect)
2009/08/26 PHP
PHP封装的一个支持HTML、JS、PHP重定向的多功能跳转函数
2014/06/19 PHP
检测codeigniter脚本消耗内存情况的方法
2015/03/21 PHP
PHP中的表达式简述
2016/05/29 PHP
thinkphp 验证码 的使用小结
2017/05/07 PHP
在Laravel 的 Blade 模版中实现定义变量
2019/10/14 PHP
JavaScript调用Activex控件的事件的实现方法
2010/04/11 Javascript
js各种验证文本框输入格式(正则表达式)
2010/10/22 Javascript
javascript 日期时间 转换的方法
2013/02/21 Javascript
javascript操作表格排序实例分析
2015/05/06 Javascript
JavaScript 函数的执行过程
2016/05/09 Javascript
Vuejs第六篇之Vuejs与form元素实例解析
2016/09/05 Javascript
Angularjs 制作购物车功能实例代码
2016/09/14 Javascript
jQuery密码强度验证控件使用详解
2017/01/05 Javascript
JavaScript 获取元素在父节点中的下标(推荐)
2017/06/28 Javascript
JavaScript之Map和Set_动力节点Java学院整理
2017/06/29 Javascript
详解angularJS自定义指令间的相互交互
2017/07/05 Javascript
JS监控关闭浏览器操作的实例详解
2017/09/12 Javascript
微信小程序 功能函数小结(手机号验证*、密码验证*、获取验证码*)
2017/12/08 Javascript
AngularJs用户输入动态模板XSS攻击示例详解
2018/04/21 Javascript
layui 表格的属性的显示转换方法
2018/08/14 Javascript
浅谈React碰到v-if
2018/11/04 Javascript
JavaScript如何判断input数据类型
2020/02/06 Javascript
vue-cli3项目打包后自动化部署到服务器的方法
2020/09/16 Javascript
js+html+css实现手动轮播和自动轮播
2020/12/30 Javascript
Python文件和目录操作详解
2015/02/08 Python
python微信跳一跳系列之色块轮廓定位棋盘
2018/02/26 Python
python实现定时提取实时日志程序
2018/06/22 Python
Linux下Pycharm、Anaconda环境配置及使用踩坑
2018/12/19 Python
CSS3绘制超炫的上下起伏波动进度加载动画
2016/04/21 HTML / CSS
详解CSS3浏览器兼容
2016/12/14 HTML / CSS
GANT葡萄牙官方商店:拥有美国运动服传统的生活方式品牌
2018/10/18 全球购物
马来西亚在线购物:POPLOOK.com
2019/12/09 全球购物
中秋节晚会开场白
2015/05/29 职场文书
《中国古代诗歌散文欣赏》高中语文教材
2019/08/20 职场文书