详谈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网络编程学习笔记(10):webpy框架
Jun 09 Python
python通过定义一个类实例作为ftp回调方法
May 04 Python
深入浅析ImageMagick命令执行漏洞
Oct 11 Python
Python队列的定义与使用方法示例
Jun 24 Python
python使用正则表达式的search()函数实现指定位置搜索功能
Nov 10 Python
点球小游戏python脚本
May 22 Python
python numpy 一维数组转变为多维数组的实例
Jul 02 Python
python 实现A*算法的示例代码
Aug 13 Python
Python 类,property属性(简化属性的操作),@property,property()用法示例
Oct 12 Python
keras slice layer 层实现方式
Jun 11 Python
ITK 实现多张图像转成单个nii.gz或mha文件案例
Jul 01 Python
python批量更改目录名/文件名的方法
Apr 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
php ss7.5的数据调用 (笔记)
2010/03/08 PHP
ThinkPHP分组下自定义标签库实例
2014/11/01 PHP
一个挺有意思的Javascript小问题说明
2011/09/26 Javascript
浅谈jQuery异步对象(XMLHttpRequest)
2014/11/17 Javascript
你一定会收藏的Nodejs代码片段
2016/02/04 NodeJs
深入理解Javascript中的valueOf与toString
2017/01/04 Javascript
使用JQ完成表格隔行换色的简单实例
2017/08/25 Javascript
Vue.js划分组件的方法
2017/10/29 Javascript
webpack4+express+mongodb+vue实现增删改查的示例
2018/11/08 Javascript
vue自动路由-单页面项目(非build时构建)
2019/04/30 Javascript
微信小程序云开发之数据库操作
2019/05/18 Javascript
详解JavaScript中的数据类型,以及检测数据类型的方法
2020/09/17 Javascript
[52:10]LGD vs Optic Supermajor小组赛D组胜者组决赛 BO3 第二场 6.3
2018/06/04 DOTA
[08:47]2018国际邀请赛 OG战队举杯时刻
2018/08/29 DOTA
python爬虫框架scrapy实战之爬取京东商城进阶篇
2017/04/24 Python
vscode 远程调试python的方法
2017/12/01 Python
PyQt5 多窗口连接实例
2019/06/19 Python
Python中字符串List按照长度排序
2019/07/01 Python
Pandas透视表(pivot_table)详解
2019/07/22 Python
解析pip安装第三方库但PyCharm中却无法识别的问题及PyCharm安装第三方库的方法教程
2020/03/10 Python
Python Flask异步发送邮件实现方法解析
2020/08/01 Python
css3实现顶部社会化分享按钮示例
2014/05/06 HTML / CSS
美国内衣第一品牌:Hanes(恒适)
2016/07/29 全球购物
DNA基因检测和分析:23andMe
2019/05/01 全球购物
幼儿教师自我鉴定
2013/11/02 职场文书
大学生思想汇报范文
2013/12/31 职场文书
十一酒店活动方案
2014/02/20 职场文书
食堂采购员岗位职责
2014/03/17 职场文书
环保建议书400字
2014/05/14 职场文书
运动会宣传语
2015/07/13 职场文书
2015年“我们的节日·重阳节”活动总结
2015/07/29 职场文书
学校体育节班级口号
2015/12/25 职场文书
2017年寒假少先队活动总结
2016/04/06 职场文书
goland 恢复已更改文件的操作
2021/04/28 Golang
Python使用PyYAML库读写yaml文件的方法
2022/04/06 Python
Spring Data JPA框架持久化存储数据到数据库
2022/04/28 Java/Android