1.数字类型
浮点数
python的浮点数存在误差,会出现一些很离谱的错误,如下
你看,甚至这样的结果是不是很反直觉,这是为啥呢?
原因是在计算机中,浮点数不是以十进制的形式精确存储的。0.1和0.2在转换成二进制浮点数表示时会有精度损失,导致运算结果也有误差。
为了解决这个问题我们可以使用decimal,decimal模块在Python中提供了一个Decimal的数据类型,可以实现更精确的浮点数计算。与内置的float类型不同,Decimal类型会用一种不同的方式存储数字,可以准确地表示和操作十进制数,而不会有二进制浮点数的精度误差。
布尔类型
使用bool()可以直接给出真假
对于字符串,只有空字符串是假,其他都是真。
对于数值,只有0是flase,其他都是true ,这个
Fraction(0,1)分子为0,分母为1的数,这个也是0
2.数字运算
python支持的数字运算
x//y是特殊的除法,他可以确保除出来的结果是整数,如果不是就向下取整
int():会直接将小数部分扔掉,只留下整数部分
pow(2,3)==8,2**3==8,两个一样,pow(2,3,5)就是2**3%5的结dd,
3.运算符
学到这里出现了一个奇怪的现象
明天继续学习这个现象的原因和他的逻辑。
总结
今天了解了python的数字类型和数字运算,知道了python中处理浮点数不精确的方法,了解了特殊的//计算,明天要继续深入了解and等等的运算符的问题