Python的基础数据类型

发布时间 2023-08-30 11:25:35作者: Magiclala

 

 

 

int, float, bool  (5星)
str   (5星)
list    (5星)
tuple   (2星)
set     (1星)
dict    (5星)
bytes   (4星)
运算符   (3星)
文件操作  (4星)

 

int: 整数,可以用来加减乘除, 大小比较
a = 10

float: 小数, 浮点数

a = 10.5
print("a=",a)
b = 10/3
print("10/3=",b)

输出结果:

a= 10.5
10/3= 3.3333333333333335

整数: 在某一个特定的区间内是可以表示的很清楚的,比如在1~10000之间,仅存在1万个整数。并且可以直接表示出来这1万个整数

小数: 数据范围是无限的。比如在1~2之间,存在无数个小数,并且无法全部列出来所有。

计算机是一个二进制的产品,底层仅由0和1进行表示。计算机表示一个小数是会有误差的.

 

为什么10/3结果是3.3333333333333335而不是3.3333333333333333或者3.3333333333333334

在计算机内部,浮点数使用二进制表示,而不是十进制。虽然 10/3 的精确十进制表示是 3.3333333333333333(循环的小数部分为 3),但在二进制表示中,它无法精确地被有限位数的二进制数表示。因此,计算机存储的近似值是 3.3333333333333335,这是一个更接近原始值的浮点数表示。

在实际计算中,由于浮点数的精度限制,当执行各种操作(如加法、减法、乘法、除法等)时,可能会产生微小的舍入误差。这是因为计算机只能使用有限的位数来表示浮点数,所以在进行计算时会进行舍入。这些微小的舍入误差可能会导致你在某些情况下看到与预期结果略微不同的值。

如果你在 Python 中执行 10 / 3,得到的结果可能在不同的环境和计算机上略有不同,但都会接近于 3.3333333333333335。这是因为 Python 使用 IEEE 754 浮点数标准来表示浮点数,这在某些情况下可能会导致微小的舍入误差。