v2.2 以前,除(“/”)运算符的返回有两种可能情况,分别是整型和浮点型。操作数的不同,是影响计算结果数据类型的关键。

以 a / b 为例,a、b均为整型,则结果返回整型;a、b任意一个是浮点型的话,则结果就是浮点型。

===========================

# python v2.7

>>> 3 / 2, 3.0 / 2, 3.0 / 2.0

(1, 1.5, 1.5)

===========================

在某些场合,我们可能会期待 a / b 返回浮点型,可是由于某些不确定的因素,参与运算的 a 和 b都是整型,这可能会带来错误,显然有精度上的损失。

v2.2 以后,引入了“地板除”(“//”)运算符,从数值上讲,它返回小于除法运算结果的最大整数;从类型上讲,与"/"运算符返回类型逻辑一致。

而“/”运算符,没有变化。

===========================

# python v2.7

>>> 3 / 2, 3.0 / 2, 3 // 2, 3.0 // 2

(1, 1.5, 1, 1.0)

===========================

v3.x 以后,“/”运算符被命名为“真除”,不再依据操作数类型选择返回值类型,保证计算结果数值上的精度是第一位的。所以,无须再把操作数转变成浮点型,以保证运算结果不被截断小数部分。

“//”运算符,不变。

===========================

# python v3.2

>>> 3 / 2, 3.0 / 2, 3 // 2, 3.0 // 2

(1.5, 1.5, 1, 1.0)

===========================

最新文章

  1. ABP源码分析四十二:ZERO的身份认证
  2. [LeetCode] Plus One Linked List 链表加一运算
  3. iOS 归档archive使用方法
  4. build/envsetup.sh 生成的命令详解表
  5. linux 命令行启动虚拟机
  6. ACE - Reactor模式源码剖析及具体实现(大量源码慎入)
  7. zendstudio 声明变量类型,让变量自动方法提示
  8. win10使用Composer-Setup安装Composer以及使用Composer安装Yii2最新版
  9. 用于json的 .ashx 小细节
  10. bzoj 1806 [Ioi2007]Miners 矿工配餐(DP)
  11. 主题简介 ASP .NET
  12. tomcat 组件研究一--启动过程总结
  13. maven的聚合和继承
  14. SAP MM MIGO & Return Delivery 组合实现部分数量的Reversal
  15. windows下配置下burpsuite的小方法。
  16. WampServer的安装和配置
  17. 046 SparlSQL中的函数
  18. git 误删分支恢复方法
  19. 基于centos的freeradius高可用lvs(UDP)
  20. Linux入门(9)——Ubuntu16.04安装flash player

热门文章

  1. 配置Slf4j依赖,桥接各种多个日志组件(排除commons-logging依赖的影响)
  2. Java中的各种锁
  3. vue学习第二天 ------ 临时笔记
  4. R.java文件无法自动生成的问题
  5. ZIP文件压缩和解压
  6. linux系统unzip文件报错的解决方案
  7. 我的ORM框架
  8. element-ui打包的坑爹之处 !!!必看三遍!!!
  9. 浩顺晶密K-5 打卡时间设置
  10. 笨办法学Python(十四)