详谈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的字典和列表的使用中一些需要注意的地方
Apr 24 Python
python中异常报错处理方法汇总
Nov 20 Python
python中MethodType方法介绍与使用示例
Aug 03 Python
200 行python 代码实现 2048 游戏
Jan 12 Python
Python实现定时备份mysql数据库并把备份数据库邮件发送
Mar 08 Python
Python和Go语言的区别总结
Feb 20 Python
Python实现的银行系统模拟程序完整案例
Apr 12 Python
Python解决pip install时出现的Could not fetch URL问题
Aug 01 Python
基于python cut和qcut的用法及区别详解
Nov 22 Python
python+requests接口压力测试500次,查看响应时间的实例
Apr 30 Python
Python基于locals返回作用域字典
Oct 17 Python
python 常用的异步框架汇总整理
Jun 18 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
实用函数5
2007/11/08 PHP
使用PHP强制下载PDF文件示例
2014/01/17 PHP
PHP文件上传问题汇总(文件大小检测、大文件上传处理)
2015/12/24 PHP
Android App中DrawerLayout抽屉效果的菜单编写实例
2016/03/21 PHP
用JavaScript事件串连执行多个处理过程的方法
2007/03/09 Javascript
jQuery动态添加的元素绑定事件处理函数代码
2011/08/02 Javascript
js 处理数组重复元素示例代码
2013/12/27 Javascript
js QQ客服悬浮效果实现代码
2014/12/12 Javascript
JS 动态加载js文件和css文件 同步/异步的两种简单方式
2016/09/23 Javascript
jQuery纵向导航菜单效果实现方法
2016/12/19 Javascript
JS实现数组去重方法总结(六种方法)
2017/07/14 Javascript
vue.js实现备忘录demo
2019/06/26 Javascript
JavaScript Canvas编写炫彩的网页时钟
2019/10/16 Javascript
vuex中store存储store.commit和store.dispatch的用法
2020/07/24 Javascript
基于element-ui封装表单金额输入框的方法示例
2021/01/06 Javascript
Python去掉字符串中空格的方法
2014/03/11 Python
举例讲解Python设计模式编程中对抽象工厂模式的运用
2016/03/02 Python
python字符串string的内置方法实例详解
2018/05/14 Python
python实现给scatter设置颜色渐变条colorbar的方法
2018/12/13 Python
Python小程序 控制鼠标循环点击代码实例
2019/10/08 Python
HTML5进阶段内联标签汇总(小篇)
2016/07/13 HTML / CSS
老板电器官方购物商城:老板油烟机、燃气灶、消毒柜、电烤箱
2018/05/30 全球购物
美国眼镜在线零售商:Dualens
2019/12/07 全球购物
意大利网上药房:Farmacia 33
2020/01/27 全球购物
美国沃尔玛网上超市:Walmart
2020/08/14 全球购物
Chemist Warehouse中文网:澳洲连锁大药房
2021/02/05 全球购物
几道数据库的概念性面试题
2014/05/30 面试题
口腔工艺技术专业毕业生自荐信
2013/09/27 职场文书
党员批评与自我批评发言稿
2014/10/14 职场文书
大学生毕业个人总结
2015/02/15 职场文书
应届毕业生自荐信
2015/03/04 职场文书
2015年工商所工作总结
2015/05/21 职场文书
培训讲师开场白
2015/06/01 职场文书
实习报告怎么写
2019/06/20 职场文书
Python中的变量与常量
2021/11/11 Python
MySQL RC事务隔离的实现
2022/03/31 MySQL