详谈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 with的用法
Aug 22 Python
Python中urllib+urllib2+cookielib模块编写爬虫实战
Jan 20 Python
浅析python中的分片与截断序列
Aug 09 Python
python urllib爬取百度云连接的实例代码
Jun 19 Python
python如何让类支持比较运算
Mar 20 Python
kafka-python批量发送数据的实例
Dec 27 Python
python3读取图片并灰度化图片的四种方法(OpenCV、PIL.Image、TensorFlow方法)总结
Jul 04 Python
python对矩阵进行转置的2种处理方法
Jul 17 Python
用Python解数独的方法示例
Oct 24 Python
Django异步任务线程池实现原理
Dec 17 Python
浅谈TensorFlow之稀疏张量表示
Jun 30 Python
Python变量及数据类型用法原理汇总
Aug 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
php getsiteurl()函数
2009/09/05 PHP
PHP 时间日期操作实战
2011/08/26 PHP
php共享内存段示例分享
2014/01/20 PHP
javascript 命名规则 变量命名规则
2010/02/25 Javascript
jQuery Ajax异步处理Json数据详解
2013/11/05 Javascript
node.js中的path.isAbsolute方法使用说明
2014/12/08 Javascript
Javascript基础教程之数据类型 (数值 Number)
2015/01/18 Javascript
jquery获取文档高度和窗口高度汇总
2016/01/25 Javascript
JavaScript开发Chrome浏览器扩展程序UI的教程
2016/05/16 Javascript
jQuery之简单的表单验证实例
2016/07/07 Javascript
微信小程序tabbar不显示解决办法
2017/06/08 Javascript
关于HTML5的data-*自定义属性的总结
2018/05/05 Javascript
微信小程序实现跑马灯效果
2020/10/21 Javascript
JSON生成Form表单的方法示例
2018/11/21 Javascript
vue router 组件的高级应用实例代码
2019/04/08 Javascript
浅入深出Vue之组件使用
2019/07/11 Javascript
layer.open提交子页面的form和layedit文本编辑内容的方法
2019/09/27 Javascript
node使用request请求的方法
2019/12/20 Javascript
Python提示[Errno 32]Broken pipe导致线程crash错误解决方法
2014/11/19 Python
python检测是文件还是目录的方法
2015/07/03 Python
Python图形绘制操作之正弦曲线实现方法分析
2017/12/25 Python
Python定义一个跨越多行的字符串的多种方法小结
2018/07/19 Python
设置python3为默认python的方法
2018/10/31 Python
Python 类的私有属性和私有方法实例分析
2019/09/29 Python
python读取csv文件指定行的2种方法详解
2020/02/13 Python
关于Keras Dense层整理
2020/05/21 Python
英国婚礼商城:Wedding Mall
2019/11/02 全球购物
小学生读书感言
2014/02/12 职场文书
市场部经理岗位职责
2014/04/10 职场文书
建设单位项目负责人任命书
2014/06/06 职场文书
电子工程求职信
2014/07/17 职场文书
关于感恩的演讲稿800字
2014/08/26 职场文书
小学生运动会报道稿
2014/09/12 职场文书
2015年党员自我剖析材料
2014/12/17 职场文书
2015年档案室工作总结
2015/05/23 职场文书
《和时间赛跑》读后感3篇
2019/12/16 职场文书