01:数值
目录
数值
python中 的数据的声明是通过赋值操作实现的
一、float 浮点型
1.float的精度问题
使用内置的decimal模块,可以实现精度的问题,注意参数是字符串的形式
import decimal
print(decimal.Decimal('1.1') + decimal.Decimal('2.2'))
>>>3.3
2.float的取整
3.格式化format方法
1、通过字符串的format方法来进行格式化操作
# 使用占位符输出
f = 3.33333
'{0}'.format(f)
>>>'3.33333'
2、通过字符串的format方法控制小数点的位数
# 使用[.][位数][f]来控制
f = 2.78124
'{:.3f}'.format(f)
>>>'2.781'
Other、字典的format的用法
>>> d= {'姓名':'Tom','年龄':23,'身高':170,'体重':70}
>>> '姓名:{},年龄{},身高{}cm,体重{}kg'.format(d.get('姓名'),d.get('年龄'),d.get('身高'),d.get('体重'))
'姓名:Tom,年龄23,身高170cm,体重70kg'
4.浮点型的操作
1、浮点型的比较,返回值为bool类型:True或者False
score = 60.7
score > 70.1
False
score > 59
True
2、等于和不等于操作,用于比较字面值,返回bool类型:True或者False
score = 98.3
score == 333
结果:False
score != 333
结果:True
3、运算操作符号
运算符 | 作用 | 备注 | 例子 |
---|---|---|---|
> | 大于 | 比较是否大于某个值 | a > b 结果:False / True |
< | 小于 | 用于比较是否小于某个值 | a < b 结果:False / True |
>= | 大于等于 | 用于比较是否大于等于某个值 | a >= b 结果:False / True |
<= | 小于等于 | 用于比较是否小于等于某个值 | a <= b 结果:False / True |
== | 等于 | 用于判断两个值的字面值是否相同 | a == b 结果:False / True |
is | 相同地址 | 用于判断是否指向相同对象(地址) | a is b 结果:False / True |
!= | 不等于 | 用于判断两个值的字面值是否不相等 | a != b 结果:False / True |
/ | 除号 | 计算两个数值相除是以精度高的为准 | 10/4 python3结果:2.5,10/2.0 结果:5.0 |
// | 相除取整 | 用于计算两个数相除,然后取整 | 10//3 结果:3,17//3 结果:5(直接舍去了后面的小数) |
math中的floor方法 | 总是向左边取整<+(-3)++0+++09+10 | 总是向左边取整 | math.floor(9.9) 结果:9,math.floor(-3.1) 结果:-4 |
math中的trunc方法 | 向0的方向取整 | truncate-截断的缩写 | python math.trunc(3.9) 结果:3,math.trunc(-3.9),结果-3 |
round()全局函数 | 四舍五入的取整的函数 | 正数和负数都是四舍五入的方式 | python round(1.2)结果:1 ,round(0.5)结果:0 ,round(0.6),结果:1,round(-3.8),结果:-4,round(-2.3),结果:-2 |
% | 取余数 | 用于计算余数 | 1%3 结果:1,10%7结果3 |
二.整型 int
1.整型无精度限制,只受限制于计算机的内存和配置
2.不同的进制:0b , 0x , 0o
进制 | 表示 | 转换 | 备注 |
---|---|---|---|
16进制 | 0X | hex() | |
8进制 | 0o | oct() | |
二进制 | 0b | bin() | |
十进制 | int() |
三.布尔类型,布尔类型
python中的bool类型:True
或者 False
其本质就是int类型
3>2
>>>True
3<2
>>>False
type(3>2)
>>><class 'bool'>
True对应的是int类型的1,False对应的是int类型的0
True == 1
>>>True
True == 2
>>>False
False == 0
>>>True
False == -1
>>>False
可以通过isinstance函数来判断一个参数的类型:
isinstance(True,int)
>>>True
isinstance(False,int)
True
既然True和False本质是1和0,那也可以进行数据的运算:
True + 1
>>>2
False + 10
>>>10