写的最新的网络认证方案代码遇到了一个难题,唯一的解决办法就是使用复数空间,需要使用复数来执行一些计算操作。

复数可以用使用函数complex(real, imag) 或者是带有后缀j 的浮点数来指定。
比如:

>>> a = complex(2, 4)
>>> b = 3 - 5j
>>> a
(2+4j)
>>> b
(3-5j)

对应的实部、虚部和共轭复数可以很容易的获取。就像下面这样:

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
>>> a.real
2.0
>>> a.imag
4.0
>>> a.conjugate()
(2-4j)

另外,所有常见的数学运算都可以工作:

>>> a + b
(5-1j)
>>> a * b
(26+2j)
>>> a / b
(-0.4117647058823529+0.6470588235294118j)
>>> abs(a)
4.47213595499958

如果要执行其他的复数函数比如正弦、余弦或平方根,使用cmath 模块:

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
>>> import cmath
>>> cmath.sin(a)
(24.83130584894638-11.356612711218174j)
>>> cmath.cos(a)
(-11.36423470640106-24.814651485634187j)
>>> cmath.exp(a)
(-4.829809383269385-5.5920560936409816j)

Python 中大部分与数学相关的模块都能处理复数。比如如果你使用numpy ,可以很容易的构造一个复数数组并在这个数组上执行各种操作:

>>> import numpy as np
>>> a = np.array([2+3j, 4+5j, 6-7j, 8+9j])
>>> a
array([ 2.+3.j, 4.+5.j, 6.-7.j, 8.+9.j])
>>> a + 2
array([ 4.+3.j, 6.+5.j, 8.-7.j, 10.+9.j])
>>> np.sin(a)
array([ 9.15449915 -4.16890696j, -56.16227422 -48.50245524j,
-153.20827755-526.47684926j, 4008.42651446-589.49948373j])

Python 的标准数学函数确实情况下并不能产生复数值,因此你的代码中不可能会
出现复数返回值。比如:

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
>>> import math
>>> math.sqrt(-1)
Traceback (most recent call last):File "<stdin>", line 1, in <module> ValueError: math domain error

如果你想生成一个复数返回结果,你必须显示的使用cmath 模块,或者在某个支
持复数的库中声明复数类型的使用。比如:

>>> import cmath
>>> cmath.sqrt(-1)
1j

Python: 复数的数学运算相关推荐

  1. 《Python Cookbook 3rd》笔记(3.6):复数的数学运算

    复数的数学运算 问题 你写的最新的网络认证方案代码遇到了一个难题,并且你唯一的解决办法就是使用复数空间.再或者是你仅仅需要使用复数来执行一些计算操作. 解法 复数可以用使用函数 complex(rea ...

  2. Python中的数学运算操作符使用进阶

    原文链接:https://www.jb51.net/article/86988.htm 这篇文章主要介绍了Python中的数学运算操作符使用进阶,也包括运算赋值操作符等基本知识的小结 Python中对 ...

  3. 创建一个复数类Complex,对复数进行数学运算

    参考,误抄袭 问题描述: 创建一个复数类Complex,对复数进行数学运算,复数具有如下格式:realPart+imaginaryPart*i,其中,i为-1的平方根,具体要求如下: (1)利用浮点变 ...

  4. 捋一捋Python中的数学运算math库(上篇)

    正式的Python专栏第18篇,同学站住,别错过这个从0开始的文章! 很多学习编程的都多多少少学习了一些数学知识. 学委之前也简单吐槽了 Python中奇葩的round函数! 这篇我们讲讲那些常用的数 ...

  5. python支持复数以及相关的运算吗_Python: 复数的数学运算

    写的最新的网络认证方案代码遇到了一个难题,唯一的解决办法就是使用复数空间,需要使用复数来执行一些计算操作. 复数可以用使用函数complex(real, imag) 或者是带有后缀j 的浮点数来指定. ...

  6. python同符号数学运算_符号数学Python?

    符号数学是一个有趣的项目.在你的问题上,是否有人使用它似乎无关紧要,所以请投入. 这些年来我写了两本.最酷的是一个for SQL where子句--它对SQL做了一些琐碎的符号操作来折叠一些附加的和条 ...

  7. Python学习:数学运算教程

    一.Python中的各种进制 1.二进制,八进制,十进制,十六进制的表示方法 在 python 的 IDLE 中输入的不同进制的数值,直接转化为十进制 >>> 0b10 # 以 0b ...

  8. python 的一些数学运算

    一,python 用分式进行计算 参考博客:https://blog.csdn.net/a19990412/article/details/81035315 from fractions import ...

  9. python复数的概念及运算_python 复数运算

    复数的数学运算 复数可以用使用函数 complex(real, imag) 或者是带有后缀j的浮点数来指定.比如: >>> a = complex(2, 4) >>> ...

最新文章

  1. delphi自定义事件处理
  2. Python之列表表达式及高阶函数lamda、zip、enumerate、map和filter方法
  3. 突发!美国财政部、商务部双双出手制裁!大疆、旷视等8家被列入投资黑名单!34家被拉入实体清单,GPU龙头景嘉微在列!...
  4. hive参数配置使用
  5. selenium 页面经常改变元素_selenium用jquery改变元素属性
  6. cluster oracle修改,Oracle 修改集群的资源属性(依赖关系)
  7. ES6 class继承
  8. 20155330 第十一周课堂练习(20170503)
  9. paip.提升性能---mysql 性能 测试以及 参数调整.txt
  10. day4:非参数统计及其检验方法(无sas代码)
  11. Android手机号码归属地查询
  12. 网上银行说此服务器证书无效,个人网银业务操作时,系统提示“客户端证书无效”,该如何解决?...
  13. 密码正确 mysql 无法登录_MySQL密码正确却无法本地登录怎么办
  14. Github文件夹下载到本地
  15. stylish网站换肤与网站分析妙用
  16. 动态SQL之choose、when、otherwise标签
  17. Matlab figure去白边
  18. 看英文pdf文档屏幕取词
  19. 跨网的数据交换解决方案
  20. 站在QA的角度浅谈软件测试流程

热门文章

  1. 将EXCEL中的列拼接成SQL insert插入语句
  2. led显字风扇原理?
  3. IPTABLES简单应用说明和Linux下IPTABLES配置详解
  4. 服务器mysql数据库安装教程视频教程_MySQL数据库管理系统安装实际操作_MySQL教程视频 - 动力节点...
  5. 【MM模块】 Cash Discounts 现金折扣
  6. 【BC】如何将自定义的区域菜单添加到系统默认的菜单中
  7. 启动oracle的三过程
  8. 公积金买房有什么好处?
  9. SAP_常用业务数据表设计
  10. 4000字干货分享|一文学会搭建炫酷可视化大屏