python 数字类型分类
整数类型
- 定义:与数学中整数的概念一致;
- 范围:在python中可正可负,没有取值范围限制。
- 表示形式:
- 十进制: 1, 100, -100, -1;
- 二进制:以0b或者0B开头,0b1001,-0B1111;
- 八进制:以0o或0O开头,0o111, -0O666;
- 十六进制:以0x或0X开头:0xff, -0Xaa。
浮点数类型
- 定义:与数学中实数的概念一致,带有小数点及小数的数字;
- 范围:在python中取值范围和小数精度都存在限制,取值范围数量级约-10的307次方 到 10的308次方 ,精度数量级10的-16次方。
引入问题
python浮点数由于存在小数进度问题,运算是否存在不确定尾数(精度问题)?如果规避?
问题答复
- 需要明确的是,python浮点数由于小数精度问题,运算时存在不确定尾数,不是bug。
- 浮点数间计算时,不确定尾数(位)一般发生在10的16次方位左右,使用round()可以规避。
- round(x, d)功能:对x四舍五入,d是小数截取位数。
sum = 0.1 + 0.2
print("sum: {}".format(sum))
sum = round(sum, 1);
print("round(sum, 1): {}".format(sum));
复数类型
- 与数学中复数的概念一致;
z = 1.23e-4+5.6e+89j
print("实部: {}".z.real)
sum = round(sum, 1);
print("虚部: {}".z.imag);
python 数字类型运算
数字类型运算符
数字类型间可进行混合运算,生成结果类型为"最宽"类型:整数 -> 浮点数 -> 复数(整数 + 浮点数 = 浮点数;浮点数 + 复数 = 复数)