浅谈Python 中的复数问题

作者:雪瞳 时间:2023-04-22 17:02:11 

前言

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

问题

关于 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 中的复数问题

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

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

来源:https://www.cnblogs.com/walxt/p/11580070.html

标签:Python,复数
0
投稿

猜你喜欢

  • 列表模块是否需要标题

    2009-06-25 14:11:00
  • CSS 超链接图标规范 V1.0

    2007-12-28 12:05:00
  • Django Python 获取请求头信息Content-Range的方法

    2022-09-09 07:04:53
  • CGArt®2008 贺岁刊电子杂志玉鼠闹春

    2008-02-15 08:59:00
  • asp 网站静态化函数代码html

    2011-03-16 11:21:00
  • 一篇jQuery小教程

    2007-10-15 12:49:00
  • 如何为Access数据库表添加日期或时间戳

    2008-11-21 12:46:00
  • 新浪乐居的人不好!哈哈

    2009-07-23 20:39:00
  • javascript脚本控件topic

    2010-09-01 21:02:00
  • oracle 发送邮件 实现方法

    2009-06-10 17:49:00
  • 部署Django到阿里云服务器教程示例

    2022-03-28 23:46:19
  • Scripting.Dictionary 对象

    2007-10-13 09:46:00
  • Python入门教程4. 元组基本操作 <font color=red>原创</font>

    2021-01-12 09:53:21
  • 网页设计应急小技巧

    2011-10-05 18:52:57
  • 静态页面实现文章点击数统计的js方法

    2008-01-23 19:17:00
  • Linux 创建oracle数据库的详细过程

    2023-07-14 15:59:09
  • SQL SERVER数据库开发之asp存储过程应用

    2008-05-19 12:55:00
  • CSS分栏布局的方法:绝对定位和浮动

    2009-04-30 13:10:00
  • ORACLE常见错误代码的分析与解决(三)

    2010-07-31 12:45:00
  • 多级联动下拉选择框,动态获取下一级

    2008-09-04 10:34:00
  • asp之家 网络编程 m.aspxhome.com