针对有人提到复数不能强转为int或者float的问题:
其实在Python中,复数提供了2个函数,一个函数是real,返回复数的实数部分,另一个函数是imag,返回复数的虚数部分。因为实数跟复数是差异很大的类型,所以不支持强制转换是可以理解的。因为在强制转换过程中,虚数部分到底该怎么转换,是没有定义的,而int和float只有实数部分,虚数部分该如何取舍?
>>> a =4.1+0.3j
>>> a
(4.1+0.3j)
>>> a.real
4.1
>>> a.imag
0.3
针对有人提到复数不能强转为int或者float的问题:
其实在Python中,复数提供了2个函数,一个函数是real,返回复数的实数部分,另一个函数是imag,返回复数的虚数部分。因为实数跟复数是差异很大的类型,所以不支持强制转换是可以理解的。因为在强制转换过程中,虚数部分到底该怎么转换,是没有定义的,而int和float只有实数部分,虚数部分该如何取舍?
>>> a =4.1+0.3j
>>> a
(4.1+0.3j)
>>> a.real
4.1
>>> a.imag
0.3