本系列将会陆续整理分享一些的Python内置函数。
-
通过百度网盘获取:
链接:https://pan.baidu.com/s/11x9_wCZ3yiYOe5nVcRk2CQ?pwd=mnsj
提取码:mnsj
-
前往GitHub获取:
https://github.com/returu/Python_built-in_functions
complex(number=0, /)
complex(string, /)
complex(real=0, imag=0)
-
number:数字; -
string:字符串,必须表示一个有效的复数形式; -
real:复数的实部,默认值为 0; -
imag:复数的虚部,默认值为 0。
返回值:
下面是一些使用 complex() 函数的示例:
-
示例 1:字符串转换
-
有效的字符串格式包括:仅实部(如 '12'
)、仅虚部(如'4j'
或'5J'
)、以及实部和虚部(如'-1+2j'
或'3-4J'
)。 -
字符串可以包含前导和尾随空白字符,也可以被圆括号包围,但这些都会被忽略。 -
虚部前的符号( +
或-
)是必需的。 -
不允许在符号、‘j’ 后缀和数字之间有空白,否则会引发 ValueError
。 -
从Python3.6开始,数字可以使用下划线进行分组(如 '1_000_000'
)。
# 有效的字符串
print(complex("3.14")) # 输出:(3.14+0j)
print(complex("2j")) # 输出:2j
print(complex("3+4j")) # 输出:(3+4j)
print(complex(" (3-4j) ")) # 输出:(3-4j)
-
示例 2:数字转换
-
如果输入是复数,则直接返回。
-
如果输入是实数,则成为复数的实部,虚部为 0。
# 数字
print(complex(3.14)) # 输出:(3.14+0j)
print(complex(2j)) # 输出:2j
-
示例 3:两个参数
-
当传递两个参数时,可以是任何数值类型(包括复数)。
-
如果两个参数都是实数,则返回一个具有相应实部和零虚部的复数。 -
如果两个参数都是复数,则返回的复数的实部是第一个复数的实部减去第二个复数的虚部,虚部是第一个复数的虚部加上第二个复数的实部。 -
如果一个参数是实数,另一个参数是复数,则只使用该参数的实部进行计算。
# 两个参数都是实数
print(complex(3, 4)) # 输出:(3+4j)
# 两个参数都是复数
# 解释:实部 = 1 - 4 = -3,虚部 = 2 + 3 = 5
print(complex(1+2j, 3+4j)) # 输出:(-3+5j)
# 一个参数是实数
# 解释:实部 = 3 - 2 = 1
print(complex(3, 2j)) # 输出:(1+0j)
-
示例 4:无参数
如果不传递任何参数给 complex(),则返回 0j。
print(complex()) # 输出:0j
-
示例 5:从对象转换
-
对于一般的Python对象
x
,complex(x)
会尝试调用x.__complex__()
。 -
如果
__complex__()
未定义,则回退到x.__float__()
。 -
如果
__float__()
未定义,则回退到x.__index__()
(Python 3.8引入)。
class MyClass:
def __complex__(self):
return complex(1, 2)
obj = MyClass()
print(complex(obj)) # 输出:(1+2j)


本篇文章来源于微信公众号: 码农设计师