详谈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 相关文章推荐
Django中实现一个高性能计数器(Counter)实例
Jul 09 Python
kNN算法python实现和简单数字识别的方法
Nov 18 Python
python中matplotlib实现最小二乘法拟合的过程详解
Jul 11 Python
Python各类图像库的图片读写方式总结(推荐)
Feb 23 Python
Python读取excel中的图片完美解决方法
Jul 27 Python
PyCharm配置mongo插件的方法
Nov 30 Python
python实现各种插值法(数值分析)
Jul 30 Python
Django-migrate报错问题解决方案
Apr 21 Python
简单了解python列表和元组的区别
May 14 Python
爬虫代理的cookie如何生成运行
Sep 22 Python
举例讲解Python装饰器
Dec 24 Python
jupyter notebook更换皮肤主题的实现
Jan 07 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
Discuz! Passport 通行证整合
2008/03/27 PHP
win7 64位系统 配置php最新版开发环境(php+Apache+mysql)
2014/08/15 PHP
提高php编程效率技巧
2015/08/13 PHP
PHP中include()与require()的区别说明
2017/02/14 PHP
php基于SQLite实现的分页功能示例
2017/06/21 PHP
Laravel jwt 多表(多用户端)验证隔离的实现
2019/12/18 PHP
解析arp病毒背后利用的Javascript技术附解密方法
2007/08/06 Javascript
Extjs EditorGridPanel中ComboBox列的显示问题
2011/07/04 Javascript
JQuery 中几个类选择器的简单使用介绍
2013/03/14 Javascript
面向对象继承实例(a如何继承b问题)(自写)
2013/07/01 Javascript
js window.onload 加载多个函数和追加函数详解
2014/01/08 Javascript
详解JavaScript中的异常处理方法
2015/06/16 Javascript
javascript实现框架高度随内容改变的方法
2015/07/23 Javascript
10道典型的JavaScript面试题
2017/03/22 Javascript
JS表格组件神器bootstrap table使用指南详解
2017/04/12 Javascript
详解使用angular-cli发布i18n多国语言Angular应用
2017/05/20 Javascript
通过构造函数实例化对象的方法
2017/06/28 Javascript
vue.js模仿京东省市区三级联动的选择组件实例代码
2017/11/22 Javascript
Vue.use源码学习小结
2018/06/20 Javascript
js String.prototype.trim字符去前后空格的扩展
2020/08/23 Javascript
Vue微信公众号网页分享的示例代码
2020/05/28 Javascript
Python的动态重新封装的教程
2015/04/11 Python
python中如何使用朴素贝叶斯算法
2017/04/06 Python
python中的set实现不重复的排序原理
2018/01/24 Python
Python数据分析之双色球基于线性回归算法预测下期中奖结果示例
2018/02/08 Python
Python定时器线程池原理详解
2020/02/26 Python
Python3.9最新版下载与安装图文教程详解(Windows系统为例)
2020/11/28 Python
HTML5通过调用canvas对象的getContext()方法来获取绘图环境
2014/06/23 HTML / CSS
毕业设计计划书
2014/01/09 职场文书
革命先烈的英雄事迹材料
2014/02/15 职场文书
酒店保安领班职务说明书
2014/03/04 职场文书
员工工作能力评语
2014/12/31 职场文书
乡镇科协工作总结2015
2015/05/19 职场文书
战友聚会致辞
2015/07/28 职场文书
2016年国培研修日志
2015/11/13 职场文书
据Python爬虫不靠谱预测可知今年双十一销售额将超过6000亿元
2021/11/11 Python