Python中的复数

复数一般表示为a+bi(a、b为有理数),在python中i被挪着它用,虚数单位是不区分大小写的J。


(笔记模板由python脚本于2023年12月19日 18:58:39创建,本篇笔记适合认识复数的coder翻阅)


【学习的细节是欢悦的历程】

  • Python 官网:https://www.python.org/

  • Free:大咖免费“圣经”教程《 python 完全自学教程》,不仅仅是基础那么简单……
    地址:https://lqpybook.readthedocs.io/


  自学并不是什么神秘的东西,一个人一辈子自学的时间总是比在学校学习的时间长,没有老师的时候总是比有老师的时候多。
            —— 华罗庚


  • My CSDN主页、My HOT博、My Python 学习个人备忘录
  • 好文力荐、 老齐教室
等风来,不如追风去……


复数a+bi(a、b为有理数)
Python中的复数
(在python中虚数单位是大或小写的J)


本文质量分:

97

本文地址: https://blog.csdn.net/m0_57158496/article/details/135091741

CSDN质量分查询入口:http://www.csdn.net/qc


目 录

  • ◆ Python中的复数
    • 1、缘起
    • 2、复数在python中的样子
      • 2.1 用虚数单位j书写
      • 2.2 complex函数构造
      • 2.3 复数对象的方法
    • 3、复数的简单运算
      • 3.1 加减乘除运算
      • 3.2 复数的 == 运算
    • 4、Python中的cmath模块
    • 5、参阅文章



◆ Python中的复数


1、缘起


  • 问答社区提问
    在这里插入图片描述
    题目来源于CSDN问答社区提问“Python复数”

  这个问题,激起了我对复数的兴趣,更想了解她在Python中的种种。

  我搜索学习了复数的相关数学知识点,拜读过csdn大佬关于复数在python的文章,摘珠成串,以识备查,凝结此文。


复数定义

  • 一般地

复数可以分为两类数:实数、虚数

实数、虚数都是复数;不存在既是实数,又是虚数的复数;任何一个复数,不属于实数就属于虚数,二者必居其一。

我们把形如 z = a +bi (a、b均为实数)的数称为复数。

其中,a 称为实部,b 称为虚部,i 称为虚数单位,满足 i2 = −1。

当 z 的虚部 b=0 时,则 z 为实数;

当 z 的虚部 b≠0 时,实部 a=0 时,常称 z 为纯虚数。


  • 百科词条

    复数 虚数单位
    (点击蓝色文字跳转查阅)

  • Python中

1、虚数不能单独存在,它们总是和一个值为 0.0 的实数部分一起构成一个复数;
2、复数由实数部分和虚数部分构成;
3、表示复数的语法:real + (image)j;
4、实数部分和虚数部分都是浮点数;
5、虚数部分必须有后缀j或J。

  复数(Complex)是Python的内置类型,直接书写即可。换句话说,Python 语言本身就支持复数,而不依赖于标准库或者第三方库。

  复数由实部(real)和虚部(imag)构成,在Python中,复数的虚部以j或者J作为后缀,具体格式为:a + bj,a表示实部,b表示虚部。


  Python中虚部的单位是j而不是i,且反常地不分大小,大小写字母同质。



回页目录


2、复数在python中的样子


  复数在python中是 (a+bj) 或者 (a+bJ) 的形式,把虚数单位常用的字母i换成了j,且无一例外地不区分大小写字母,大小写效果、作用等同。要知道,python中一般都是“大小写字母敏感”的,大小写字母视为不同的对象。


2.1 用虚数单位j书写

  • 命令行试炼
    Python中的复数_第1张图片
      如图所见,大小写字母j构造复数是一样的。

>>>
>>>
>>> z = 4+5j
>>> z2 = 8-4J
>>> z, z2
((4+5j), (8-4j))
>>> type(z), type(z2)
(<class 'complex'>, <class 'complex'>)
>>>


2.2 complex函数构造

  • 命令行试炼
    Python中的复数_第2张图片
      如截屏图片,用python内建函数complex,也是可以在python中轻松构建复数对象的。

>>>
>>> z3 = complex(6, 9)
>>> z4 = complex(8, -2)
>>> z3,  z4
((6+9j), (8-2j))
>>> type(z3), type(z4)
(<class 'complex'>, <class 'complex'>)
>>>
>>>


2.3 复数对象的方法

  • 命令行试炼
    Python中的复数_第3张图片
      如图,复数对象的real属性可以获取复数的实部,imag属性可以得到复数对象的虚部。这两个属性可以方便地支持我们在python中对复数对象进行想要的操作。

>>>
>>> z.real
4.0
>>> z.imag
5.0
>>> z
(4+5j)
>>> z3
(6+9j)
>>> z3.imag
9.0
>>> z3.real
6.0



回页目录


3、复数的简单运算


  一般地,两个复数只能说相等或不相等,而不能比较大小。如果两个复数都是实数,就可以比较大小,也只有当两个复数全是实数时才能比较大小。

  Python中的复数是由实部和虚部构成的数学对象。在Python中,可以使用后缀j或J来表示虚部,例如 1+2j 。复数在Python中支持常见的算术运算,如加法、减法、乘法和除法。

  首先是复数相等的定义:如果两个复数实部和虚部分别相等,我们就说这两个复数相等。

  数集的结构和数系的扩充:人们通常在数集上建立两种结构:运算结构与序结构。比较大小就是研究序结构。


3.1 加减乘除运算


  Python中的复数+、-、×、÷运算:+、-相对简单,就是分别对实部和虚部进行+、-运算,然后组合结果;×是相当于多项式相乘,合并实部和虚部、÷是分母实化,用×来运算。



运算法则

加减法法则
复数的加减法法则:设z1=a+bi,z2=c+di是任意两个复数。两者和的实部是原来两个复数实部的和,它的虚部是原来两个虚部的和。两个复数的和依然是复数。
在这里插入图片描述
乘法法则
复数的乘法法则:把两个复数相乘,类似两个多项式相乘,结果中i2=-1,把实部与虚部分别合并。两个复数的积仍然是一个复数。
Python中的复数_第4张图片
除法法则
运算方法:将分子和分母同时乘以分母的共轭复数,再用乘法法则运算。
Python中的复数_第5张图片

【详见复数百科词条】


  • 代码运行效果截屏图片
    Python中的复数_第6张图片

    复数不可以比较复数大小,除非虚部为零(即只有实部的复数)
    Python中的复数_第7张图片

Python代码


a = 4.6 + 5.2j
b = 6.9 - 2.2J

print(f"\n有复数 a = {a},b = {b}\n\n type(a) = {type(a)}\n type(b) = {type(b)}\n\n a + b = {a + b}\n a - b = {a - b}\n a × b = {a * b}\n a / b = {a / b}")
#a > b # 不可以比较复数大小,除非虚部为零(即只有实部的复数)。


  • 复数相乘试炼

    样例①:
    Python中的复数_第8张图片
    样例②:
    Python中的复数_第9张图片

试炼代码

#!/sur/bin/nve python
# coding: utf-8
z = 4-3j
z2 = complex(9, 7)
a, b = z.real, z.imag
c, d = z2.real, z2.imag

s = '''
两复数相乘(多项式相乘):

∵  (a + bj)(c + dj)
  = ac + bcj + adj + bdj^2
'''
newReal = a*c + b*d*(-1)
newImag = b*c + a*d
print(f"\n有俩复数:{z}, {z2}\n\n{s}\n∴ {z}×{z2} 的结果:\n  实部 {a}×{c} + {b}×{d}×(-1) = {newReal}\n  虚部 {b}×{c} + {a}×{d} = {newImag}\n\n所以 {z}×{z2}j = {newReal}{newImag if newImag < 0 else f'+{newImag}'}j\n\n∵ Python计算:\n {z}×{z2} = {z*z2}\n\n∴ {f'{newReal}+{newImag}j'} == {z}{z2} is {eval(f'{newReal}+{newImag}j') == z*z2}")



回页目录


3.2 复数的 == 运算


  Python中的复数 == 运算。
  • 代码运行效果截屏图片
    Python中的复数_第10张图片

Python代码


a = 6.6 + 0.2j
b = 9.9 - 9.2J

print(f"\n有复数 a = {a},b = {b}\n\na == b is {a == b}\n\n(7-6)+3j == (7-6)+3j is {(7-6)+3j == (7-6)+3j}")



回页目录



4、Python中的cmath模块


  Python中有专门为复数准备了复杂数学运算的模块,可以进行开平方、对数、三角函数等相对复杂的复数数学运算。


  • 命令行简单试用cmath模块效果
    Python中的复数_第11张图片



回页目录


5、参阅文章


  • Python中的复数

  • Python中的虚数部分后缀j

  • Python中的复数数学运算模块cmath



回页首


上一篇:  身份证编码校验(一道校验居民身份证编码校验码的小题,触发了我对我国第二代身份证整串编码的探究:校验成功,解读编码信息)
下一篇: 



我的HOT博:

  本次共计收集289篇博文笔记信息,总阅读量44.72w。数据采集于2023年12月11日 23:07:13,用时5分11.8秒。阅读量不小于4.0k的有17篇。

    • ChatGPT国内镜像站初体验:聊天、Python代码生成等
      地址:https://blog.csdn.net/m0_57158496/article/details/129035387
      浏览阅读:6.2w
      点赞:127 收藏:809 评论:71
      (本篇笔记于2023-02-14 23:46:33首次发布,最后修改于2023-07-03 05:50:55)

    • 让QQ群昵称色变的神奇代码
      地址:https://blog.csdn.net/m0_57158496/article/details/122566500
      浏览阅读:5.8w
      点赞:24 收藏:86 评论:17
      (本篇笔记于2022-01-18 19:15:08首次发布,最后修改于2022-01-20 07:56:47)

    • Python列表(list)反序(降序)的7种实现方式
      地址:https://blog.csdn.net/m0_57158496/article/details/128271700
      浏览阅读:9.9k
      点赞:5 收藏:30 评论:8
      (本篇笔记于2022-12-11 23:54:15首次发布,最后修改于2023-03-20 18:13:55)

    • pandas 数据类型之 DataFrame
      地址:https://blog.csdn.net/m0_57158496/article/details/124525814
      浏览阅读:9.4k
      点赞:7 收藏:34 
      摘要:pandas 数据类型之 DataFrame_panda dataframe。
      (本篇笔记于2022-05-01 13:20:17首次发布,最后修改于2022-05-08 08:46:13)

    • 个人信息提取(字符串)
      地址:https://blog.csdn.net/m0_57158496/article/details/124244618
      浏览阅读:7.7k
      摘要:个人信息提取(字符串)_python个人信息提取。
      (本篇笔记于2022-04-18 11:07:12首次发布,最后修改于2022-04-20 13:17:54)

    • Python字符串居中显示
      地址:https://blog.csdn.net/m0_57158496/article/details/122163023
      浏览阅读:7.2k
      评论:1
    • 罗马数字转换器|罗马数字生成器
      地址:https://blog.csdn.net/m0_57158496/article/details/122592047
      浏览阅读:7.2k
      (本篇笔记于2022-01-19 23:26:42首次发布,最后修改于2022-01-21 18:37:46)

    • 斐波那契数列的递归实现和for实现
      地址:https://blog.csdn.net/m0_57158496/article/details/122355295
      浏览阅读:5.6k
      点赞:4 收藏:2 评论:8
    • 回车符、换行符和回车换行符
      地址:https://blog.csdn.net/m0_57158496/article/details/123109488
      浏览阅读:5.5k
      点赞:2 收藏:3 
      摘要:回车符、换行符和回车换行符_命令行回车符。
      (本篇笔记于2022-02-24 13:10:02首次发布,最后修改于2022-02-25 20:07:40)

    • python清屏
      地址:https://blog.csdn.net/m0_57158496/article/details/120762101
      浏览阅读:5.3k
    • 练习:字符串统计(坑:f‘string‘报错)
      地址:https://blog.csdn.net/m0_57158496/article/details/121723096
      浏览阅读:5.1k
    • 练习:尼姆游戏(聪明版/傻瓜式•人机对战)
      地址:https://blog.csdn.net/m0_57158496/article/details/121645399
      浏览阅读:5.1k
      点赞:14 收藏:44 
    • 我的 Python.color() (Python 色彩打印控制)
      地址:https://blog.csdn.net/m0_57158496/article/details/123194259
      浏览阅读:4.6k
      点赞:2 收藏:8 
      摘要:我的 Python.color() (Python 色彩打印控制)_python color。
      (本篇笔记于2022-02-28 22:46:21首次发布,最后修改于2022-03-03 10:30:03)

    • 练习:生成100个随机正整数
      地址:https://blog.csdn.net/m0_57158496/article/details/122558220
      浏览阅读:4.6k
      (本篇笔记于2022-01-18 13:31:36首次发布,最后修改于2022-01-20 07:58:12)

    • 密码强度检测器
      地址:https://blog.csdn.net/m0_57158496/article/details/121739694
      浏览阅读:4.4k
      (本篇笔记于2021-12-06 09:08:25首次发布,最后修改于2022-11-27 09:39:39)

    • 罗马数字转换器(用罗马数字构造元素的值取模实现)
      地址:https://blog.csdn.net/m0_57158496/article/details/122608526
      浏览阅读:4.2k
      (本篇笔记于2022-01-20 19:38:12首次发布,最后修改于2022-01-21 18:32:02)

    • 练习:班里有人和我同生日难吗?(概率probability、蒙特卡洛随机模拟法)
      地址:https://blog.csdn.net/m0_57158496/article/details/124424935
      浏览阅读:4.0k
      摘要:班里有人和我同生日难吗?(概率probability、蒙特卡洛随机模拟法)_生日模拟问题,计算频率,并画出随着试验次数n的增大,频率和理论概率的 关系图。
      (本篇笔记于2022-04-26 12:46:25首次发布,最后修改于2022-04-27 21:22:07)


    • 推荐条件 阅读量突破4.0k
      (更多热博,请点击蓝色文字跳转翻阅)



      回页首


      老齐漫画头像

      精品文章:

      • 好文力荐:齐伟书稿 《python 完全自学教程》 Free连载(已完稿并集结成书,还有PDF版本百度网盘永久分享,点击跳转免费下载。)
      • OPP三大特性:封装中的property
      • 通过内置对象理解python'
      • 正则表达式
      • python中“*”的作用
      • Python 完全自学手册
      • 海象运算符
      • Python中的 `!=`与`is not`不同
      • 学习编程的正确方法

      来源:老齐教室


      ◆ Python 入门指南【Python 3.6.3】


      好文力荐:

      • 全栈领域优质创作者——[寒佬](还是国内某高校学生)博文“非技术文—关于英语和如何正确的提问”,“英语”和“会提问”是编程学习的两大利器。
      • 【8大编程语言的适用领域】先别着急选语言学编程,先看它们能干嘛
      • 靠谱程序员的好习惯
      • 大佬帅地的优质好文“函数功能、结束条件、函数等价式”三大要素让您认清递归

      CSDN实用技巧博文:

      • 8个好用到爆的Python实用技巧
      • python忽略警告
      • Python代码编写规范
      • Python的docstring规范(说明文档的规范写法)

    你可能感兴趣的:(笔记,python)