详谈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求两个list的差集、交集与并集的方法
Nov 01 Python
Python中getattr函数和hasattr函数作用详解
Jun 14 Python
Python采集代理ip并判断是否可用和定时更新的方法
May 07 Python
对python中数组的del,remove,pop区别详解
Nov 07 Python
基于python全局设置id 自动化测试元素定位过程解析
Sep 04 Python
python中class的定义及使用教程
Sep 18 Python
python config文件的读写操作示例
Sep 27 Python
pygame实现俄罗斯方块游戏(对战篇1)
Oct 29 Python
pyecharts动态轨迹图的实现示例
Apr 17 Python
PyQt5实现仿QQ贴边隐藏功能的实例代码
May 24 Python
python中subplot大小的设置步骤
Jun 28 Python
python调用ffmpeg命令行工具便捷操作视频示例实现过程
Nov 01 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在Web开发领域的优势
2006/10/09 PHP
eWebEditor v3.8 商业完整版 (PHP)
2006/12/06 PHP
PHP 木马攻击防御技巧
2009/06/13 PHP
PHP中使用crypt()实现用户身份验证的代码
2012/09/05 PHP
CodeIgniter实现从网站抓取图片并自动下载到文件夹里的方法
2015/06/17 PHP
浅析php如何实现App常用的秒发功能
2016/08/03 PHP
PHP 7.0新增加的特性介绍
2017/06/08 PHP
ASP中用Join和Array,可以加快字符连接速度的代码
2007/08/22 Javascript
JS 强制设为首页的代码
2009/01/31 Javascript
img标签中onerror用法
2009/08/13 Javascript
Javascript表格翻页效果实现思路及代码
2013/08/23 Javascript
js父窗口关闭时子窗口随之关闭完美解决方案
2014/04/29 Javascript
JS 动态判断PC和手机浏览器实现代码
2016/09/21 Javascript
微信小程序 增、删、改、查操作实例详解
2017/01/13 Javascript
bootstrap3使用bootstrap datetimepicker日期插件
2017/05/24 Javascript
react-redux中connect()方法详细解析
2017/05/27 Javascript
vue-ajax小封装实例
2017/09/18 Javascript
微信小程序HTTP请求从0到1封装
2019/09/09 Javascript
js 图片懒加载的实现
2020/10/21 Javascript
[01:21]辉夜杯战队访谈宣传片—CDEC
2015/12/25 DOTA
[01:03]PWL开团时刻DAY6——别打我
2020/11/05 DOTA
Python 两个列表的差集、并集和交集实现代码
2016/09/21 Python
python中使用xlrd读excel使用xlwt写excel的实例代码
2018/01/31 Python
python机器学习之神经网络实现
2018/10/13 Python
python如何基于redis实现ip代理池
2020/01/17 Python
PyQt5连接MySQL及QMYSQL driver not loaded错误解决
2020/04/29 Python
浅谈keras中的后端backend及其相关函数(K.prod,K.cast)
2020/06/29 Python
如何强制垃圾回收
2015/10/06 面试题
应聘教师自荐信
2013/10/12 职场文书
物流管理毕业生自荐信范文
2014/03/15 职场文书
党员自我剖析材料(群众路线)
2014/10/06 职场文书
研究生论文答辩开场白
2015/05/27 职场文书
运动会跳远广播稿
2015/08/19 职场文书
2016年“世界环境日”校园广播稿
2015/12/18 职场文书
创业计划书之牛肉汤快餐店
2019/10/08 职场文书
五年级作文之学校的四季
2019/12/05 职场文书