详谈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进阶教程之动态类型详解
Aug 30 Python
浅谈MySQL中的触发器
May 05 Python
Python 3中的yield from语法详解
Jan 18 Python
python中import学习备忘笔记
Jan 24 Python
Python随机生成手机号、数字的方法详解
Jul 21 Python
apache部署python程序出现503错误的解决方法
Jul 24 Python
Python实现XML文件解析的示例代码
Feb 05 Python
python+opencv实现霍夫变换检测直线
Oct 23 Python
pyspark 随机森林的实现
Apr 24 Python
Python如何爬取b站热门视频并导入Excel
Aug 10 Python
如何在python中实现线性回归
Aug 10 Python
python opencv角点检测连线功能的实现代码
Nov 24 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中数据的批量导入(csv文件)
2006/10/09 PHP
PHP4之COOKIE支持详解
2006/10/09 PHP
一次因composer错误使用引发的问题与解决
2019/03/06 PHP
基于jquery的文本框与autocomplete结合使用(asp.net+json)
2012/05/30 Javascript
jquery动态添加删除(tr/td)
2015/02/09 Javascript
jQuery使用prepend()方法在元素前添加内容用法实例
2015/03/26 Javascript
jquery实现Slide Out Navigation滑出式菜单效果代码
2015/09/07 Javascript
悬浮广告方法日常收集整理
2016/03/18 Javascript
JavaScript随机生成颜色的方法
2016/10/15 Javascript
bootstrap datetimepicker 日期插件在火狐下出现一条报错信息的原因分析及解决办法
2017/03/08 Javascript
JavaScript定义函数的三种实现方法
2017/09/23 Javascript
详解如何让Express支持async/await
2017/10/09 Javascript
webpack 单独打包指定JS文件的方法
2018/02/22 Javascript
微信小程序canvas实现刮刮乐效果
2018/07/09 Javascript
优雅的使用javascript递归画一棵结构树示例代码
2019/09/22 Javascript
基于js实现复制内容到操作系统粘贴板过程解析
2019/10/11 Javascript
原生js实现二级联动菜单
2019/11/27 Javascript
node使用mysql获取数据库数据中文乱码问题的解决
2019/12/02 Javascript
解决Element中el-date-picker组件不回填的情况
2020/11/07 Javascript
python查找目录下指定扩展名的文件实例
2015/04/01 Python
详解Python中的相对导入和绝对导入
2017/01/06 Python
Python使用Scrapy保存控制台信息到文本解析
2017/12/27 Python
python读取excel指定列数据并写入到新的excel方法
2018/07/10 Python
对numpy中的transpose和swapaxes函数详解
2018/08/02 Python
python散点图实例之随机漫步
2018/08/27 Python
face++与python实现人脸识别签到(考勤)功能
2019/08/28 Python
tensorflow模型继续训练 fineturn实例
2020/01/21 Python
英国最大的在线运动补充剂商店:Discount Supplements
2017/06/03 全球购物
怎样有效的进行自我评价
2013/10/06 职场文书
工厂仓管员岗位职责
2014/01/01 职场文书
政府门卫岗位职责
2014/04/29 职场文书
党员批评与自我批评总结
2014/10/15 职场文书
html+css合并表格边框的示例代码
2021/03/31 HTML / CSS
小程序实现筛子抽奖
2021/05/26 Javascript
Flask搭建一个API服务器的步骤
2021/05/28 Python
Win11软件图标固定到任务栏
2022/04/19 数码科技