当前位置: 首页 > news >正文

Python基本数据类型之复数complex

来源: “码农不会写诗”公众号
链接:Python基本数据类型之复数complex

文章目录

  • 01 基本概念
  • 02 基本运算
  • 03 拓展1复数与向量

复数complex

Python基本数据之复数(complex)即包含实部和虚部的数字。


01 基本概念

即包含实部和虚部的数字。

在Python中,复数用complex类型表示,可以用a + bj或者a + bJ的形式表示,其中a是实部(real),b是虚部(imag)。

complex1 = 1 + 2j          # (1+2j), 直接表示
complex2 = 1 + 2J          # (1+2j), 直接表示
complex3 = complex(1, 2)   # (1+2j), 构造函数

实部和虚部可以通过属性访问。

complex1 = 1 + 2j
print(complex1.real)  # 1.0, 实部
print(complex1.imag)  # 2.0, 虚部

02 基本运算

基本算术运算,包括加、减、乘和除法。

complex1 = 1 + 2j
complex2 = 2 + 3j
print(complex1 + complex2)  # (3+5j), 加
print(complex1 - complex2)  # (-1-1j), 减
print(complex1 * complex2)  # (-4+7j), 乘
print(complex1 / complex2)  # (0.6153846153846154+0.07692307692307691j), 除

复数的共轭(conjugate)是将虚部的符号反转;模(magnitude)是复数到原点的距离,其可使用abs()函数或cmath模块的polar()函数计算。

complex1 = 3 + 4j
print(complex1.conjugate())  # (3-4j), 共轭
print(abs(complex1))         # 5.0, 模: sqrt(3^2 + 4^2)
import cmath
print(cmath.polar(complex1))     # (5.0, 0.9272952180016122), 函数返回值为: (模, 相位角)
print(cmath.polar(complex1)[0])  # 5.0

用极坐标形式表示复数:r * (cos(theta) + i * sin(theta)),其中r是模,theta是相位角。

import cmath
complex1 = 1 + 2j
print(cmath.phase(complex1))  # 1.1071487177940904, 相位角(弧度)
print(cmath.polar(complex1))  # (2.23606797749979, 1.1071487177940904), 极坐标形式: (模, 相位角)

03 拓展1复数与向量

复数(complex )本身并不直接表示向量,但可以用于表示二维空间中的向量,如实部表示x分量,虚部表示y分量。

vector = 3 + 4j  # 表示向量 (3, 4)
print(vector1.real * vector2.real + vector1.imag * vector2.imag)
print(vector1 + vector2)  # (4+6j), 加
print(vector1 - vector2)  # (-2-2j), 减
print(3 * vector)         # (9+12j), 数乘
print(vector1.real * vector2.real + vector1.imag * vector2.imag)  # 11.0, 点积print(abs(vector))  # 5.0, 模
import cmath
print(cmath.phase(vector))  #  0.9272952180016122, 辐角(弧度表示)print(vector.real)  # 3.0, 向量分解x
print(vector.imag)  # 4.0 向量分解y

温馨提示:尽管实际开发不一定采用这种表示方式,但也不失为一种可借鉴思路。


今天的内容就到这里啦,先拜了个拜~

上一篇:Python基本数据类型之浮点数float

http://www.lryc.cn/news/433283.html

相关文章:

  • 第六届机器人与智能制造技术国际会议 (ISRIMT 2024)
  • 鸿蒙轻内核M核源码分析系列十九 Musl LibC
  • mysqldump备份恢复数据库
  • 路径规划——RRT算法
  • OPCUA-PLC
  • 在Windows系统上部署PPTist并实现远程访问
  • 【Grafana】Prometheus结合Grafana打造智能监控可视化平台
  • 隐私计算实训营:SplitRec:当拆分学习遇上推荐系统
  • 存在nginx版本信息泄露(请求头中存在nginx中间件版本信息)
  • 在js中观察者模式讲解
  • java常用面试题-基础知识分享
  • iOS——runLoop
  • python: 多模块(.py)中全局变量的导入
  • 0基础学习爬虫系列:Python环境搭建
  • Unity Shader实现简单的各向异性渲染(采用各向异性形式的GGX分布)
  • React开源框架之Refine
  • 【iOS】——渲染原理与离屏渲染
  • 详解CSS
  • Python执行cmd命令
  • 基于激光雷达的无人机相互避障
  • Zookeeper基本原理
  • 【生日视频制作】西游记孙悟空师徒提笔毛笔书法横幅AE模板修改文字软件生成器教程特效素材【AE模板】
  • 春日美食汇:基于SpringBoot的订餐平台
  • 微信小程序中如何监听元素进入目标元素
  • 华为 HCIP-Datacom H12-821 题库 (6)
  • 常见的pytest二次开发功能
  • Linux下安装MySQL8.0
  • 【Python】CSV文件的简单使用
  • jobs命令
  • 《深入浅出WPF》读书笔记.11Template机制(上)