详谈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的web框架中配置app的教程
Apr 30 Python
Pytorch入门之mnist分类实例
Apr 14 Python
Python tkinter的grid布局及Text动态显示方法
Oct 11 Python
python实现将多个文件分配到多个文件夹的方法
Jan 07 Python
Python判断两个文件是否相同与两个文本进行相同项筛选的方法
Mar 01 Python
Python实现从SQL型数据库读写dataframe型数据的方法【基于pandas】
Mar 18 Python
python文本数据处理学习笔记详解
Jun 17 Python
Pandas删除数据的几种情况(小结)
Jun 21 Python
PyQt5组件读取参数的实例
Jun 25 Python
Python基于WordCloud制作词云图
Nov 29 Python
解决导入django_filters不成功问题No module named 'django_filter'
Jul 15 Python
如何用python批量调整视频声音
Dec 22 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中操作MySQL数据库的一些要注意的问题
2006/10/09 PHP
不重新编译PHP为php增加openssl模块的方法
2011/06/14 PHP
采用PHP函数memory_get_usage获取PHP内存清耗量的方法
2011/12/06 PHP
Codeigniter发送邮件的方法
2015/03/19 PHP
php实现PDO中捕获SQL语句错误的方法
2017/02/16 PHP
jquery实现页面图片等比例放大缩小功能
2014/02/12 Javascript
file控件选择上传文件确定后触发的js事件是哪个
2014/03/17 Javascript
使用jQuery的attr方法来修改onclick值
2014/07/07 Javascript
详解JavaScript中常用的函数类型
2015/11/18 Javascript
微信小程序开发(二)图片上传+服务端接收详解
2017/01/11 Javascript
vue2.0 axios跨域并渲染的问题解决方法
2018/03/08 Javascript
JSON数据中存在单个转义字符“\”的处理方法
2018/07/11 Javascript
JS造成内存泄漏的几种情况实例分析
2020/03/02 Javascript
[52:32]完美世界DOTA2联赛PWL S2 Magma vs LBZS 第三场 11.18
2020/11/18 DOTA
Python 时间处理datetime实例
2008/09/06 Python
一则python3的简单爬虫代码
2014/05/26 Python
详尽讲述用Python的Django框架测试驱动开发的教程
2015/04/22 Python
python数据分析数据标准化及离散化详解
2018/02/26 Python
Python3 sys.argv[ ]用法详解
2019/10/24 Python
python 输出列表元素实例(以空格/逗号为分隔符)
2019/12/25 Python
python isinstance函数用法详解
2020/02/13 Python
Python爬虫之Spider类用法简单介绍
2020/08/04 Python
详解CSS3浏览器兼容
2016/12/14 HTML / CSS
Trunki英国官网:儿童坐骑式行李箱
2017/05/30 全球购物
Europcar葡萄牙:葡萄牙汽车和货车租赁
2017/10/13 全球购物
NBA欧洲商店(英国):NBA Europe Store UK
2018/07/27 全球购物
精灵市场:Pixie Market
2019/06/18 全球购物
美国电子产品购物网站:BuyDig.com
2020/06/17 全球购物
估算杭州有多少软件工程师
2015/08/11 面试题
农行实习自我鉴定
2013/09/22 职场文书
会计专业应届生求职信
2013/11/24 职场文书
企业总经理职责
2014/02/02 职场文书
文明宿舍获奖感言
2014/02/07 职场文书
爱我中华教学反思
2014/04/28 职场文书
政风行风整改报告
2014/11/06 职场文书
初中体育课教学反思
2016/02/16 职场文书