详谈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中字典dict常用操作方法实例总结
Apr 04 Python
Python中shutil模块的学习笔记教程
Apr 04 Python
python topN 取最大的N个数或最小的N个数方法
Jun 04 Python
Python实现多级目录压缩与解压文件的方法
Sep 01 Python
python画图--输出指定像素点的颜色值方法
Jul 03 Python
python通过http下载文件的方法详解
Jul 26 Python
python求平均数、方差、中位数的例子
Aug 22 Python
Pandas DataFrame中的tuple元素遍历的实现
Oct 23 Python
python基于socket实现的UDP及TCP通讯功能示例
Nov 01 Python
Python浮点数四舍五入问题的分析与解决方法
Nov 19 Python
Python下载的11种姿势(小结)
Nov 18 Python
Python Flask实现进度条
May 11 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
探讨PHP JSON中文乱码的解决方法详解
2013/06/06 PHP
php通过文件流方式复制文件的方法
2015/03/13 PHP
Joomla框架实现字符串截取的方法示例
2017/07/18 PHP
jQuery1.3.2 升级到jQuery1.4.4需要修改的地方
2011/01/06 Javascript
js中跨域方法原理详解
2015/07/19 Javascript
基于jquery步骤进度条源码分享
2015/11/12 Javascript
JS运动相关知识点小结(附弹性运动示例)
2016/01/08 Javascript
Bootstrap作品展示站点实战项目2
2016/10/14 Javascript
JavaScript函数柯里化原理与用法分析
2017/03/31 Javascript
解决vue里碰到 $refs 的问题的方法
2017/07/13 Javascript
微信小程序自动客服功能
2017/11/02 Javascript
jQuery.Sumoselect插件实现下拉复选框效果
2017/11/09 jQuery
微信小程序实现人脸识别
2018/05/25 Javascript
vue 弹框产生的滚动穿透问题的解决
2018/09/21 Javascript
vue单页缓存存在的问题及解决方案(小结)
2018/09/25 Javascript
JavaScript遍历数组的三种方法map、forEach与filter实例详解
2019/02/27 Javascript
JavaScript中的垃圾回收与内存泄漏示例详解
2019/05/02 Javascript
前端Vue项目详解--初始化及导航栏
2019/06/24 Javascript
JS sort排序详细使用方法示例解析
2020/09/27 Javascript
详解阿里Node.js技术文档之process模块学习指南
2021/01/04 Javascript
[01:51]2014DOTA2西雅图邀请赛 MVP 外卡赛black场间采访
2014/07/09 DOTA
python中List的sort方法指南
2014/09/01 Python
Python中的生成器和yield详细介绍
2015/01/09 Python
python实现图片变亮或者变暗的方法
2015/06/01 Python
常见的python正则用法实例讲解
2016/06/21 Python
深入理解Python异常处理的哲学
2019/02/01 Python
python解释器spython使用及原理解析
2019/08/24 Python
Python3多线程版TCP端口扫描器
2019/08/31 Python
pytorch .detach() .detach_() 和 .data用于切断反向传播的实现
2019/12/27 Python
M1芯片安装python3.9.1的实现
2021/02/02 Python
澳大利亚排名第一的儿童在线玩具商店:Toy Galaxy
2018/10/06 全球购物
七年级地理教学反思
2014/01/26 职场文书
学生会副主席竞聘书
2014/03/31 职场文书
体育活动总结
2015/02/04 职场文书
大学生饮品店创业计划书范文
2019/07/10 职场文书
golang在GRPC中设置client的超时时间
2021/04/27 Golang