Skip to content

数值

顾名思义,用于存储数值,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'>

注意事项

  • 从浮点型转换为整型时,小数部分会被截断,而不是四舍五入。
  • 不能直接将复数转换为浮点型或整型,需要先提取实部或虚部再进行转换。

Released under the MIT License.