复数一般表示为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 学习个人备忘录
- 好文力荐、 老齐教室
本文质量分:
本文地址: 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、缘起
这个问题,激起了我对复数的兴趣,更想了解她在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书写
命令行试炼
如图所见,大小写字母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内建函数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 复数对象的方法
命令行试炼
如图,复数对象的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代码
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 # 不可以比较复数大小,除非虚部为零(即只有实部的复数)。
复数相乘试炼
样例①:
样例②:
试炼代码
#!/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代码
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模块效果
5、参阅文章
上一篇: 身份证编码校验(一道校验居民身份证编码校验码的小题,触发了我对我国第二代身份证整串编码的探究:校验成功,解读编码信息)
下一篇:
我的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实用技巧博文: