数值
顾名思义,用于存储数值,Python 支持三种不同的数值类型:整形、浮点型和复数类型。
整形
整型 (int): 表示整数,例如 10, 25, -50。Python 中的整数可以是任意长度的,可以是正数、负数或零。
python
# 整型变量示例
num1 = 10
num2 = -5
num3 = 0
print(type(num1)) # 输出:<class 'int'>
print(type(num2)) # 输出:<class 'int'>
print(type(num3)) # 输出:<class 'int'>
浮点型
浮点型 (float): 表示带有小数点的数字,可以是正数、负数或零。
python
# 浮点型变量示例
pi = 3.14159
negative_float = -2.5
zero_float = 0.0
print(type(pi)) # 输出:<class 'float'>
print(type(negative_float)) # 输出:<class 'float'>
print(type(zero_float)) # 输出:<class 'float'>
复数
复数 (complex): 表示带有虚部的数字,形如 a + bj
,其中 a
是实部,b
是虚部,j
是虚数单位。
python
# 复数变量示例
complex_num1 = 2 + 3j
complex_num2 = -1.5 - 2.2j
print(type(complex_num1)) # 输出:<class 'complex'>
print(type(complex_num2)) # 输出:<class 'complex'>
以上三种数值类型,运算时会发生类型转换,Python 中类型转换主要分为两种方式:隐式类型转换、显示类型转换(类型强制转换)。
隐式类型转换
- 当进行混合类型的数值运算时,Python 会自动将“较小”的类型转换为“较大”的类型,以避免数据丢失。
- 转换顺序一般为:
整型(int)
->浮点型(float)
->复数(complex)
。 - 隐式转换不需要使用任何函数,由 Python 解释器自动完成。
python
a = 10 # 整型
b = 3.14 # 浮点型
c = 2 + 3j # 复数
# 整型和浮点型运算,结果自动转换为浮点型
result1 = a + b
print(result1, type(result1)) # 输出:13.14 <class 'float'>
# 浮点型和复数运算,结果自动转换为复数
result2 = b + c
print(result2, type(result2)) # 输出:(5.140000000000001+3j) <class 'complex'>
显示类型转换
- 当需要明确将一种数值类型转换为另一种数值类型时,可以使用类型转换函数。
- 常用的类型转换函数:
int(x)
: 将 x 转换为整数,小数部分会被截断。float(x)
: 将 x 转换为浮点数。complex(x)
: 将 x 转换为复数,实部为 x,虚部为 0。complex(x, y)
: 将 x 和 y 转换为复数,实部为 x,虚部为 y。
python
a = 10.5
b = 3 + 4j
# 将浮点型转换为整型,小数部分被截断
result1 = int(a)
print(result1, type(result1)) # 输出:10 <class 'int'>
# 将复数转换为浮点型,会报错
# result2 = float(b) # TypeError: can't convert complex to float
# 将整型转换为复数
result3 = complex(a)
print(result3, type(result3)) # 输出:(10.5+0j) <class 'complex'>
注意事项
- 从浮点型转换为整型时,小数部分会被截断,而不是四舍五入。
- 不能直接将复数转换为浮点型或整型,需要先提取实部或虚部再进行转换。