详谈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 os模块介绍
Nov 30 Python
用Python计算三角函数之acos()方法的使用
May 15 Python
python魔法方法-自定义序列详解
Jul 21 Python
python with提前退出遇到的坑与解决方案
Jan 05 Python
python实现关键词提取的示例讲解
Apr 28 Python
详解Python数据可视化编程 - 词云生成并保存(jieba+WordCloud)
Mar 26 Python
python使用BeautifulSoup与正则表达式爬取时光网不同地区top100电影并对比
Apr 15 Python
Python3环境安装Scrapy爬虫框架过程及常见错误
Jul 12 Python
基于python爬取有道翻译过程图解
Mar 31 Python
python中tkinter窗口位置\坐标\大小等实现示例
Jul 09 Python
python 读取yaml文件的两种方法(在unittest中使用)
Dec 01 Python
python工具快速为音视频自动生成字幕(使用说明)
Jan 27 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
PHP5函数小全(分享)
2013/06/06 PHP
PHP中fwrite与file_put_contents性能测试代码
2013/08/02 PHP
PHP 下载文件时自动添加bom头的方法实例
2014/01/10 PHP
ThinkPHP使用UTFWry地址库进行IP定位实例
2014/04/01 PHP
PHP实现微信退款的方法示例
2019/03/26 PHP
IE与Firefox在JavaScript上的7个不同写法小结
2009/09/14 Javascript
bootstrap布局中input输入框右侧图标点击功能
2016/05/16 Javascript
Javascript实现通过选择周数显示开始日和结束日的实现代码
2016/05/30 Javascript
jquery实现垂直和水平菜单导航栏
2020/08/27 Javascript
详解Vue 普通对象数据更新与 file 对象数据更新
2017/04/26 Javascript
基于EasyUI的基础之上实现树形功能菜单
2017/06/28 Javascript
微信小程序-getUserInfo回调的实例详解
2017/10/27 Javascript
layui原生表单验证的实例
2019/09/09 Javascript
微信小程序获取地理位置及经纬度授权代码实例
2019/09/18 Javascript
Python程序员开发中常犯的10个错误
2014/07/07 Python
python获取局域网占带宽最大3个ip的方法
2015/07/09 Python
Django的分页器实例(paginator)
2017/12/01 Python
python快速建立超简单的web服务器的实现方法
2018/02/17 Python
Python(TensorFlow框架)实现手写数字识别系统的方法
2018/05/29 Python
opencv python统计及绘制直方图的方法
2019/01/21 Python
python for和else语句趣谈
2019/07/02 Python
详谈tensorflow gfile文件的用法
2020/02/05 Python
Python学习之time模块的基本使用
2021/01/17 Python
基于CSS3实现的几个小loading效果
2018/09/27 HTML / CSS
5分钟实现Canvas鼠标跟随动画背景
2019/11/18 HTML / CSS
客户代表实习人员自我鉴定
2013/09/27 职场文书
大学学年自我鉴定
2013/10/28 职场文书
幼儿园大班开学教师寄语
2014/04/03 职场文书
电力安全事故反思
2014/04/27 职场文书
邓小平理论心得体会
2014/09/09 职场文书
医药公司采购员岗位职责
2014/09/12 职场文书
长江三峡导游词
2015/01/31 职场文书
幼儿园保教工作总结2015
2015/10/15 职场文书
Python 数据科学 Matplotlib图库详解
2021/07/07 Python
postgresql使用filter进行多维度聚合的解决方法
2021/07/16 PostgreSQL
Html5获取用户当前位置的几种方式
2022/01/18 HTML / CSS