Python cmath模块运算输出的0j代表什么含义?
关于Python cmath运算结果中0j的含义解释
基础定义
0j是Python复数类型的标识后缀:Python中复数的统一格式为实部+虚部j,这里的j对应数学中的虚数单位i,0j就代表当前复数的虚部数值为0。cmath是专门处理复数运算的标准库,所有运算返回值默认都是复数类型,哪怕计算结果的虚部为0,也会保留0j后缀来明确变量类型为复数,而非普通的整数或浮点数。
对应代码场景说明
示例中的二次方程判别式为0,两个根都是实根-4,但因为调用了cmath.sqrt()计算平方根,该方法返回值是复数类型的0j而非整数0,后续参与四则运算后得到的结果自然也属于复数类型,因此实根-4会被表示为(-4+0j)。
如果需要把结果转为普通数值,可以直接提取复数的实部属性:
# 提取实部得到普通浮点数值 print(solution_1.real, solution_2.real) # 输出结果:-4.0 -4.0
内容的提问来源于stack exchange,提问作者Helpmepls
相关产品推荐
相关产品推荐

