Python数值类型概述
Python提供了多种数值类型用于处理不同的数据需求,主要包括:
整数 (int)
整数是不带小数点的数字,可以是正数或负数。Python中的整数大小只受可用内存限制。
# 整数示例
a = 10
b = -5
c = 0
large_num = 12345678901234567890 # 非常大的整数
注意: Python 3中,整数没有大小限制,可以处理非常大的数值。
浮点数 (float)
浮点数表示带有小数点的实数,在Python中使用双精度表示(64位),符合IEEE 754标准。
# 浮点数示例
x = 3.14159
y = -0.001
z = 2.0 # 虽然是整数,但带小数点就是浮点数
scientific = 1.23e-4 # 科学计数法表示 0.000123
注意: 浮点数计算可能存在精度问题,例如 0.1 + 0.2
的结果是 0.30000000000000004
。
复数 (complex)
复数由实部和虚部组成,在Python中用 a + bj
或 complex(a, b)
表示。
# 复数示例
c1 = 3 + 4j
c2 = complex(2, -3) # 2 - 3j
c3 = 5j # 纯虚数
提示: 可以使用 real
和 imag
属性获取复数的实部和虚部。
布尔值 (bool)
布尔值是表示真(True)或假(False)的逻辑值,是整数(int)的子类,True对应1,False对应0。
# 布尔值示例
is_valid = True
is_finished = False
# 布尔运算
result = (5 > 3) # 返回 True
check = (10 == 5) # 返回 False
注意: 在数值上下文中,True被视为1,False被视为0。
数值运算与操作
运算符 | 描述 | 示例 | 结果 |
---|---|---|---|
+ | 加法 | 5 + 3 | 8 |
- | 减法 | 10 - 4 | 6 |
* | 乘法 | 7 * 6 | 42 |
/ | 浮点数除法 | 10 / 3 | 3.333... |
// | 整数除法 | 10 // 3 | 3 |
% | 取模(余数) | 10 % 3 | 1 |
** | 幂运算 | 2 ** 4 | 16 |
abs() | 绝对值 | abs(-7) | 7 |
round() | 四舍五入 | round(3.14159, 2) | 3.14 |
类型转换
Python提供了内置函数用于数值类型之间的转换:
# 类型转换示例
# 整数转浮点数
float_num = float(5) # 5.0
# 浮点数转整数(截断小数部分)
int_num = int(3.9) # 3
# 字符串转数值
num_from_str = int("42") # 42
float_from_str = float("3.14") # 3.14
# 布尔值转整数
int_from_bool = int(True) # 1
# 复数转整数(不支持,会引发TypeError)
重要: 从浮点数转换为整数会截断小数部分,而不是四舍五入。使用 round()
函数进行四舍五入。
数值比较与布尔运算
Python支持标准的比较运算符,返回布尔值(True/False):
# 比较运算符示例
a = 10
b = 20
print(a == b) # False
print(a != b) # True
print(a < b) # True
print(a > b) # False
print(a <= 10) # True
print(b >= 25) # False
# 布尔运算
x = True
y = False
print(x and y) # False
print(x or y) # True
print(not x) # False
数学模块(math)
Python的math模块提供了许多高级数学函数:
import math
# 常用数学函数
print(math.sqrt(25)) # 5.0 - 平方根
print(math.pow(2, 3)) # 8.0 - 幂运算
print(math.exp(2)) # 7.389... - e的幂
print(math.log(100, 10)) # 2.0 - 对数
print(math.sin(math.pi/2)) # 1.0 - 正弦函数
# 常数
print(math.pi) # 3.141592653589793
print(math.e) # 2.718281828459045
# 取整函数
print(math.ceil(4.2)) # 5 - 向上取整
print(math.floor(4.9)) # 4 - 向下取整
发表评论