Python 的内置函数 complex

作者:IMPYLH日期:2025/10/25

Python 内建函数列表 > Python 的内置函数 complex

Python 的内置函数 complex() 用于创建一个复数对象。复数在数学和科学计算中有着广泛的应用,特别是在信号处理、电气工程和物理学等领域。

1class complex(r=0, i=0):
2    '''
3    类型转换为 complex
4
5    :param r: 实部
6    :param i: 虚部
7    :return: 转换为 complex 后的值
8    '''
9

示例

1# 创建实部为 3,虚部为 5 的复数
2c1 = complex(3, 5)  # 输出 (3+5j)
3
4# 仅指定实部
5c2 = complex(2)  # 输出 (2+0j)
6

Python 的内置函数 complex() 用于创建一个复数对象,或将其他数据类型转换为复数类型。复数在数学和工程计算中非常常见,特别是在信号处理、控制系统等领域。

语法格式:

1complex([real[, imag]])
2

或者

1complex(string)
2

参数说明:

  1. 第一种形式
    • real(可选):表示复数的实部,可以是整数、浮点数或字符串。如果省略,默认为 0。
    • imag(可选):表示复数的虚部,可以是整数或浮点数。如果省略,默认为 0。
  2. 第二种形式
    • string:一个表示复数的字符串,例如 "3+4j""5-2j"。字符串中不能包含空格,且虚部必须带有 jJ 后缀。

返回值:

返回一个复数对象,其实部和虚部分别为指定的数值。复数对象是不可变类型。

示例说明:

  1. 创建简单复数
1a = complex(3, 4)   # 创建复数 3+4j  
2print(a)            # 输出:(3+4j)  
3print(type(a))      # 输出:<class 'complex'>  
  1. 省略部分参数
1b = complex(2)      # 创建复数 2+0j(省略虚部)  
2c = complex()       # 创建复数 0j(省略实部和虚部)  
3d = complex(imag=5) # 创建复数 0+5j(仅指定虚部)  
  1. 从字符串创建复数
1e = complex("1+2j") # 创建复数 1+2j  
2f = complex("3.5")  # 创建复数 3.5+0j(字符串仅包含实部)  
  1. 复数运算
1x = complex(1, 2)  
2y = complex(3, 4)  
3print(x + y)        # 复数加法:(4+6j)  
4print(x * y)        # 复数乘法:(-5+10j)  
5print(abs(y))       # 复数模:5.0  

注意事项:

  • 如果实部或虚部是字符串形式,它必须是一个合法的数值表达式,不能包含除数字、加减号和 j 之外的字符。
  • 复数对象支持常见的算术运算,包括加法、减法、乘法和除法。
  • 复数对象的实部和虚部可以通过 realimag 属性获取:
1z = complex(3, 4)  
2print(z.real)  # 输出实部:3.0  
3print(z.imag)  # 输出虚部:4.0  

应用场景:

复数作为一种重要的数学工具,在多个工程和科学领域都有着深入而广泛的应用,具体包括:

  1. 信号处理领域
    • 在数字信号处理中,复数被广泛应用于频谱分析和滤波器设计
    • FFT(快速傅里叶变换)算法完全建立在复数运算的基础上,是音频处理、图像压缩等技术的核心
    • 例如:MP3音频编码就依赖复数运算进行频域分析和压缩
  2. 电气工程领域
    • 在交流电路分析中,复数形式的阻抗(Z=R+jX)可以同时表示电阻和电抗
    • 相量法使用复数表示正弦信号的幅度和相位,简化了电路计算
    • 典型应用包括:电力系统分析、电机控制、射频电路设计等
  3. 量子力学领域
    • 量子态用复数概率幅描述,薛定谔方程本身就是复数方程
    • 复数是量子叠加原理和量子纠缠现象数学描述的基础
    • 例如:量子计算中的量子比特就是用复数向量表示的
  4. 计算机图形学领域
    • 复数可以用来表示二维旋转和缩放变换
    • 四元数(复数的扩展)在三维图形旋转中广泛应用
    • 实际应用包括:游戏引擎中的角色动画、VR/AR中的空间定位等

此外,复数还在控制理论、流体力学、电磁学等其他多个领域发挥着重要作用,是现代科学技术不可或缺的数学工具。

通过 complex() 函数,Python 可以方便地处理这些需要复数运算的场景。


Python 的内置函数 complex》 是转载文章,点击查看原文


相关推荐


猿辅导Java面试真实经历与深度总结(三)
360_go_php2025/10/23

​ 在Java面试中,有些问题是每个面试官几乎都会问到的。这些问题涉及到JVM内存管理、Spring框架的核心原理以及一些常见的Java技术点。今天我们来解答一系列常见的Java面试问题,帮助你更好地准备面试。 1. JVM内存区域及内存溢出 JVM内存分为多个区域,每个区域有不同的功能。主要分为以下几个区域:​编辑 程序计数器(Program Counter Register):每个线程有独立的程序计数器,用于指示当前线程所执行的字节码指令的位置。 Java虚拟机栈(JVM Sta


3个技巧让你彻底搞懂JavaScript异步编程
良山有风来2025/10/22

你是不是曾经遇到过这样的情况? 页面上的数据加载了半天就是出不来,控制台报了一堆看不懂的错误。代码写着写着就变成了“回调地狱”,一层套一层,自己都看不懂自己写了什么。 别担心,异步编程确实是很多前端开发者的痛点。但今天,我会用最通俗易懂的方式,带你彻底搞懂JavaScript中的异步编程。 读完本文,你不仅能理解回调、Promise和async/await的区别,还能掌握如何在实际项目中优雅地处理异步操作。最重要的是,你会拥有一套清晰的异步编程思路,再也不用害怕处理复杂的异步逻辑了。 什么是异步


基于SpringBoot的高校迎新管理系统
计算机毕设定制辅导-无忧2025/10/20

一、前言         随着高等教育规模的持续扩大和信息化建设的不断推进,传统高校迎新工作面临着流程繁琐、信息分散、效率低下和管理混乱等挑战。人工办理报到手续、纸质材料收集与核对不仅耗时耗力,还容易出现差错,给新生、家长及迎新工作人员带来诸多不便,难以满足现代化高校管理的需求。         为提升迎新工作的组织效率与服务质量,本文设计并实现一套基于SpringBoot的高校迎新管理系统。系统采用SpringBoot框架构建稳定、高效的后端服务,利用Vue.js开发响应迅速、交互友好


MYSQL学习笔记(个人)(第十五天)
chenzhou__2025/10/19

自学《数据库系统原理与应用》——— 黄宝贵、马春梅、禹继国 —— 清华大学出版社 关系规范化理论: 关系规范化的作用:         为了设计一个合理、可靠、简单、正确的关系数据库,形成了关系规范化理论。其包括两个方面的内容:1.数据依赖,研究属性之间的依赖关系;2.范式,是关系模式符合某种级别的标准。 1.问题的提出: 下面有个关系模式: SCD(sno, sname, dname, office, cno, cname, score) 其中按照现实需求和实际应用,可得语义: (


[嵌入式系统-136]:主流AIOT智能体软件技术栈
文火冰糖的硅基工坊2025/10/18

主流AIoT(人工智能物联网)智能体软件技术栈涵盖了硬件、通信、AI算法、安全防护等多个层面,其核心在于通过“感知-分析-决策-执行”的闭环架构,将物联网的连接能力与人工智能的认知能力深度融合。以下从技术架构、关键技术栈、应用场景三个维度进行解析: 一、技术架构:分层解耦与闭环控制 AIoT智能体的技术架构通常分为四层,每层承担特定功能并协同工作: 感知层 功能:通过传感器和终端设备采集环境数据(如温度、湿度、图像、声音等)。关键技术: 传感器技术:高精度、低功耗的传感器(


C#设计模式源码讲解
小张9992025/10/16

C#设计模式源码合集,包含23种设计模式完整源码,每个模式都有详细注释和实例代码。 不想打螺丝,转行做架构师       功能亮点: 1.创建型模式5种:单例模式、工厂方法模式、抽象工厂模式、建造者模式、原型模式 2.结构型模式7种:适配器模式、桥接模式、组合模式、装饰者模式、外观模式、享元模式、代理模式 3.行为型模式11种:策略模式、迭代器模式、中介者模式、观察者模式、状态模式、模板方法模式、命令模式、职责链模式、访问者模式、解释器模式、备忘录模式 4.每个模式都配有详细注释和实


告别JS初学者噩梦:这样写流程控制和函数才叫优雅
良山有风来2025/10/15

你是不是也遇到过这样的场景? 面对一堆复杂的if-else嵌套,自己都看不懂昨天写的代码;想要复用某个功能,却只能笨拙地复制粘贴;代码越写越长,bug越改越多,最后连自己都不想维护... 别担心,今天这篇文章就是来拯救你的! 我将带你重新认识JavaScript的流程控制和函数封装,分享一些让代码变得更优雅、更易维护的实用技巧。读完本文,你将彻底告别“面条式代码”,写出既漂亮又实用的JavaScript代码。 流程控制:从混乱到清晰 先来看个真实案例。假设我们要根据用户等级显示不同的权益: //


无Dockerfile构建:云原生部署新姿势
10岁的博客2025/10/14

容器化安装新玩法:无 Dockerfile 构建与多环境部署 创新点解析 Buildpacks 免 Dockerfile 构建 通过云原生构建包自动分析代码类型(Python/Node.js/Java等)动态生成最优容器镜像,无需手动编写 Dockerfile示例命令:pack build my-app --builder=gcr.io/buildpacks/builder:v1 Kubernetes 多环境热切换 使用 Kustomize 实现同一应用的多环境配置覆盖环境差异抽象为覆盖


如何基于Spring Cloud Gateway实现灰度发布的具体配置示例?
IT橘子皮2025/10/12

基于 Spring Cloud Gateway 实现灰度发布,核心思路是通过定义路由规则,将特定流量导向新版本服务。下面我用一个表格汇总主要策略,然后提供具体配置示例和关键说明。 🎯 灰度发布策略概览 策略类型核心机制适用场景​基于请求头 (Header)​​检查请求头中的特定标识(如 X-Gray-Release: true)内部测试、指定体验用户​基于权重 (Weight)​​按配置的百分比随机分配流量到不同版本A/B测试、逐步放量​基于用


Go语言实战案例——进阶与部署篇:使用Docker部署Go服务
程序员爱钓鱼2025/10/11

在现代软件开发中,应用的可移植性和环境一致性至关重要。无论是在开发环境、测试环境还是生产环境,我们都希望 Go 项目能够快速部署、稳定运行。而 Docker 正是实现这一目标的关键工具。 本文将带你从零开始,实战演示如何使用 Docker 构建并部署一个 Go Web 服务。通过这个案例,你将学会将 Go 应用打包成轻量级容器镜像,并在任何地方一键运行。 一 为什么使用 Docker 部署 Go 服务 在未使用 Docker 之前,部署 Go 项目通常需要以下步骤: 1 安装 Go 环境 2

首页编辑器站点地图

Copyright © 2025 聚合阅读

License: CC BY-SA 4.0