详谈Python2.6和Python3.0中对除法操作的异同


Posted in Python onApril 28, 2017

Python中除法有两种运算符:'/'和'//';有三种类型的除法:传统除法、Floor除法和真除法。

X / Y类型:

在Python2.6或者之前,这个操作对于整数运算会省去小数部分,而对于浮点数运算会保持小数部分;在Python3.0中变成真除法(无论任何类型都会保持小数部分,即使整除也会表示为浮点数形式)。

示例代码:

Python 2.7版本中结果:

>>> 3/2
1
>>> 3/2.0
1.5
>>> 4/2
2
>>> 4/2.0
2.0

Python 3.4版本中结果:

>>> 3/2
1.5
>>> 3/2.0
1.5
>>> 4/2
2.0
>>> 4/2.0
2.0

X // Y 类型:

Floor除法:在Python 2.2中新增的操作,在Python2.6和Python3.0中均能使用,这个操作不考虑操作对象的类型,总是省略小数部分,剩下最小的能整除的整数部分。

示例代码:

Python 2.7版本中结果:

>>> 3//2
1
>>> 3//2.0
1.0
>>> 4//2
2
>>> 4//2.0
2.0

Python 3.4版本中结果(与2.7版本一样):

概括

>>> 3//2
1
>>> 3//2.0
1.0
>>> 4//2
2
>>> 4//2.0
2.0

来讲:

• 在Python 2.6中,'/'执行传统除法,如果操作数都是整数的话,执行截断的整数除法(即对于结果只保留整数部分),否则,执行浮点除法(保留余数);'//'执行Floor除法,与Python3.0一样,对于整数执行截断除法,浮点数执行浮点除法。

• 在Python 3.0中,'/'总是执行真除法,不管操作数的类型,都会返回包含任何余数的浮点结果;'//'执行Floor除法,截除掉余数并且针对整数操作数返回一个整数,如果有任何一个操作数是浮点数,则返回一个浮点数。

-------------------------------------------------

补充:

Floor除法:效果等同于math模块中的floor函数:

math.floor(x) :返回不大于x的整数

所以当运算数是负数时:结果会向下取整。

>>> 5//3  #1.6666666666666667
1
>>> -5//3
-2
>>>

与floor()函数类似的还有很多,比如trunc()函数:

>>> import math
>>> math.trunc(-1.6)
-1
>>> math.trunc(1.6)
1

以上这篇详谈Python2.6和Python3.0中对除法操作的异同就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python基础教程之基本内置数据类型介绍
Feb 20 Python
Python中类型关系和继承关系实例详解
May 25 Python
python unittest实现api自动化测试
Apr 04 Python
python 将数据保存为excel的xls格式(实例讲解)
May 03 Python
Win10下python 2.7.13 安装配置方法图文教程
Sep 18 Python
在Python中增加和插入元素的示例
Nov 01 Python
Python列表list操作相关知识小结
Jan 29 Python
Python reversed函数及使用方法解析
Mar 17 Python
python求解汉诺塔游戏
Jul 09 Python
pandas将list数据拆分成行或列的实现
Dec 13 Python
python中lower函数实现方法及用法讲解
Dec 23 Python
python和anaconda的区别
May 06 Python
浅谈Python2.6和Python3.0中八进制数字表示的区别
Apr 28 #Python
用pickle存储Python的原生对象方法
Apr 28 #Python
Python标准库之collections包的使用教程
Apr 27 #Python
Golang与python线程详解及简单实例
Apr 27 #Python
Mac中升级Python2.7到Python3.5步骤详解
Apr 27 #Python
详解Python 2.6 升级至 Python 2.7 的实践心得
Apr 27 #Python
Python中创建字典的几种方法总结(推荐)
Apr 27 #Python
You might like
推荐几部必看的DC动画电影
2020/03/03 欧美动漫
CodeIgniter图像处理类的深入解析
2013/06/17 PHP
用Javscript实现表单复选框的全选功能
2007/05/25 Javascript
javascript下有关dom以及xml节点访问兼容问题
2007/11/26 Javascript
javascript:void(0)的真正含义实例分析
2008/08/20 Javascript
离开页面时检测表单元素是否被修改,提示保存的js代码
2010/08/25 Javascript
js对象的比较
2011/02/26 Javascript
浅析js中的浮点型运算问题
2014/01/06 Javascript
动态载入js提高网页打开速度的方法
2014/07/04 Javascript
小巧强大的jquery layer弹窗弹层插件
2015/12/06 Javascript
noty ? jQuery通知插件全面解析
2016/05/18 Javascript
浅谈Javascript数据属性与访问器属性
2016/07/26 Javascript
js实现右键菜单功能
2016/11/28 Javascript
动态加载css方法实现和深入解析
2017/01/18 Javascript
JS时间控制实现动态效果的实例讲解
2017/07/31 Javascript
webpack+vue中使用别名路径引用静态图片地址
2017/11/20 Javascript
浅谈vuepress 踩坑记
2018/04/18 Javascript
React router动态加载组件之适配器模式的应用详解
2018/09/12 Javascript
[01:06:26]全国守擂赛第二周 Team Coach vs DeMonsTer
2020/04/28 DOTA
在Python中使用成员运算符的示例
2015/05/13 Python
在linux下实现 python 监控usb设备信号
2019/07/03 Python
对Django外键关系的描述
2019/07/26 Python
pytorch构建多模型实例
2020/01/15 Python
TensorFlow:将ckpt文件固化成pb文件教程
2020/02/11 Python
python opencv实现图像配准与比较
2021/02/09 Python
让IE9以下版本的浏览器兼容HTML5的方法
2014/03/12 HTML / CSS
快时尚眼镜品牌,全国连锁眼镜店:LOHO眼镜生活
2018/10/08 全球购物
阿联酋优惠券服务:Living Kool
2019/12/12 全球购物
Visual-Click葡萄牙:欧洲领先的在线眼镜商
2020/02/17 全球购物
匡威俄罗斯官网:Converse俄罗斯
2020/05/09 全球购物
人事专员岗位职责
2013/11/20 职场文书
校运会口号
2014/06/18 职场文书
学校政风行风评议心得体会
2014/10/21 职场文书
军训个人总结
2015/03/03 职场文书
综合素质评价个性与发展自我评价
2015/03/06 职场文书
嵌入式Redis服务器在Spring Boot测试中的使用教程
2021/07/21 Redis