浅谈Python 中的复数问题

 更新时间:2021年05月19日 17:03:52   作者:雪瞳  
这篇文章主要介绍了在Python 中的复数问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

前言

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

问题

关于 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 复数及运算类型问题

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

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

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

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

1、实部虚部问题

2、结果类型问题

再来看一些例子:

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

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

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

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

再列出一些运算的例子:

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

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

相关文章

  • keras训练浅层卷积网络并保存和加载模型实例

    keras训练浅层卷积网络并保存和加载模型实例

    这篇文章主要介绍了keras训练浅层卷积网络并保存和加载模型实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • Python基础之字典常见操作经典实例详解

    Python基础之字典常见操作经典实例详解

    这篇文章主要介绍了Python基础之字典常见操作,结合实例形式详细分析了Python基本功能、创建、内置函数与相关使用技巧,需要的朋友可以参考下
    2020-02-02
  • 详解Pytorch自动求导机制

    详解Pytorch自动求导机制

    自动求导是一种计算梯度的技术,它允许我们在定义模型时不需要手动推导梯度计算公式,PyTorch 提供了自动求导的功能,使得梯度的计算变得非常简单和高效,这篇文章主要介绍了Pytorch自动求导机制详解,需要的朋友可以参考下
    2023-07-07
  • python3 selenium 切换窗口的几种方法小结

    python3 selenium 切换窗口的几种方法小结

    今天小编就为大家分享一篇python3 selenium 切换窗口的几种方法小结,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • Python面向对象之模块详解

    Python面向对象之模块详解

    这篇文章主要为大家介绍了Python面向对象之模块,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-12-12
  • Python中的joblib模块详解

    Python中的joblib模块详解

    这篇文章主要介绍了Python中的joblib模块详解,用已知的数据集经过反复调优后,训练出一个较为精准的模型,想要用来对格式相同的新数据进行预测或分类,常见的做法是将其训练好模型封装成一个模型文件,直接调用此模型文件用于后续的训练,需要的朋友可以参考下
    2023-08-08
  • Python实现自动打开电脑应用的示例代码

    Python实现自动打开电脑应用的示例代码

    这篇文章主要介绍了Python实现自动打开电脑应用的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • Python post请求实现代码实例

    Python post请求实现代码实例

    这篇文章主要介绍了Python post请求实现代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • python利用装饰器进行运算的实例分析

    python利用装饰器进行运算的实例分析

    本文主要是通过使用Python的装饰器来做一个运算的实例,来给大家详细介绍下Python的装饰器,非常的实用,有需要的小伙伴可以参考下。
    2015-08-08
  • python 机器学习的标准化、归一化、正则化、离散化和白化

    python 机器学习的标准化、归一化、正则化、离散化和白化

    这篇文章主要介绍了聊聊机器学习的标准化、归一化、正则化、离散化和白化,帮助大家更好的理解和学习使用python进行机器学习,感兴趣的朋友可以了解下
    2021-04-04

最新评论