除法运算符/在Python2和Python3中的区别

在Python2中,除法的取值结果取整数

1

2

>>> 7/3

2

即一个整数(无小数部分的数)被另外一个整数除,计算结果的小数部分被截除了,只留下了整数部分。

在Python3中,除法/的结果包含小数

注意:无论除数和被除数是任何类型都会保持小数部分,即使整除也会表示为浮点数形式

例如:

1

2

3

4

>>> 7/3

2.3333333333333335

>>> 4/2

2.0

 

如果想实现Python2中的功能,得到相同的结果,只取整数需要使用//

例如:

1

2

3

4

>>> 7//3

2

>>> 4//2

2

 

在python2中需要实现与python3相同功能的除法,有两种方法:

方法1. 导入division模块

1

2

3

4

5

from __future__ import division

>>> 7/3

2.3333333333333335

>>> 4/2

2.0

方法2: 用实数代替整数进行运算

实数即包含小数点的数, 实数在Python中被称为浮点数(Float),只要参与运算的数字中有一个是浮点数,则为浮点数运算,运算结果亦为浮点数,也就不会截除小数部分

1

2

3

4

5

6

7

>>> 7/3.0

2.3333333333333335

>>> 7.0/3

2.3333333333333335

>>> 7.0/3.0

2.3333333333333335

>>>

 

总结:

开发中涉及到数值精度的问题,往往会导致意想不到的bug,所以大家要注意Python2和Python3在处理除法运算时的区别, 避免开发中遇到问题。

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

量慧实工作室LHStudio

LHStudio感谢您的支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值