Python之数字类型及操作

整数类型

与数学中整数的概念一致
-可正可负,没有取值范围限制
-pow(x,y)函数:计算x^y,想算多大算多大

>>>pow(2,100)
1267650600228229401496703205376

4种进制表示形式
1、十进制:1010,99,-217
2、二进制,以Ob或0B开头:0b010,-0B101
3、八进制,以0o或00开头:00123,-00456
4、十六进制,以0x或0X开头:0x9a,-0×89

浮点数类型

与数学中实数的概念一致
-带有小数点及小数的数字
-浮点数取值范围和小数精度都存在限制,但常规计算可忽略
-取值范围数量级约-10^308 至10^308, 精度数量级10^-16
注意:浮点数间运算存在不确定尾数,不是bug,很多编程语言都存在此问题

>>>0.1+0.3
>0.4
>>>0.1+0.2
>0.30000000000000004

其中0.1+0.2!=0.3产生的原因就是不确定尾数
0.1 53位二进制表示小数部分,约10^-16
0.00011001100110011001180118011801180118011801180118011810(二进制表示,后面有无限位,只用53位表示小数部分)0.1000000000000000055511151231257827821181583484541815625(十进制表示,只截取其中16位)
二进制表示小数,可以无限接近十进制,但不完全相同
故0.1+0.2时先转成二进制,计算后再转成十进制,故会产生一个不确定尾数

解决办法:使用round()函数

>>> 0.1+0.2 == 0.3
False

>>> round(0.1+0.2, 1) == 0.3
True

-round(x,d):对x四舍五入,d是小数截取位数
-浮点数间运算及比较用round0函数辅助

-不确定尾数一般发生在10^-16左右,round0十分有效

浮点数可以采用科学计数法表示
-使用字母e或E作为幂的符号,以10为基数,格式如下:
e表示a*10b

-例如:4.3e-3值为0.0043
9.6E5值为960000.0

复数类型

只有Python语言提供此数字类型,与数学中复数的概念一致,很少使用在这里插入图片描述
复数实例
z=1.23e-4+5.6e+89j
z.real获得实部
z.imag 获得虚部

数值运算操作符

操作符是完成运算的一种符号体系在这里插入图片描述
在这里插入图片描述
注意:
1、除运算得到的是一个浮点数类型(与其他编程语言区分)
2、x**y的作用与pow(x,y)一致

二元操作符有对应的增强赋值操作符在这里插入图片描述
三种类型存在一种逐渐“扩展”或“变宽”的关系:
整数->浮点数->复数
类型间可进行混合运算,生成结果为“最宽“类型
-例如:123+4.0=127.0(整数+浮点数=浮点数)
注意不确定尾数问题

数值运算函数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值