详谈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去除字符串两端空格的方法
May 21 Python
Python函数中的函数(闭包)用法实例
Mar 15 Python
python中函数总结之装饰器闭包详解
Jun 12 Python
Python列表切片用法示例
Apr 19 Python
Python通过matplotlib绘制动画简单实例
Dec 13 Python
解决Python获取字典dict中不存在的值时出错问题
Oct 17 Python
python+Django+pycharm+mysql 搭建首个web项目详解
Nov 29 Python
利用Python制作动态排名图的实现代码
Apr 09 Python
Python3将ipa包中的文件按大小排序
Apr 17 Python
Python enumerate() 函数如何实现索引功能
Jun 29 Python
python实现图像随机裁剪的示例代码
Dec 10 Python
python图像处理基本操作总结(PIL库、Matplotlib及Numpy)
Jun 08 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获取文件绝对路径的代码(上一级目录)
2011/05/29 PHP
很让人受教的 提高php代码质量36计
2012/09/05 PHP
Laravel使用PHPQRCODE实现生成带有LOGO的二维码图片功能示例
2017/07/07 PHP
php实现微信公众号企业转账功能
2018/10/01 PHP
php使用mysqli和pdo扩展,测试对比连接mysql数据库的效率完整示例
2019/05/09 PHP
Yii2框架中一些折磨人的坑
2019/12/15 PHP
javascript sudoku 数独智力游戏生成代码
2010/03/27 Javascript
基于jquery的用鼠标画出可移动的div
2012/09/06 Javascript
jQuery easyui datagrid动态查询数据实例讲解
2013/02/26 Javascript
关于jQuery参考实例2.0 用jQuery选择元素
2013/04/07 Javascript
JavaScript事件处理器中的event参数使用介绍
2013/05/24 Javascript
node.js实现BigPipe详解
2014/12/05 Javascript
js实现点击链接后窗口缩小并居中的方法
2015/03/02 Javascript
Jquery数字上下滚动动态切换插件
2015/08/08 Javascript
【经典源码收藏】jQuery实用代码片段(筛选,搜索,样式,清除默认值,多选等)
2016/06/07 Javascript
jq stop()和:is(:animated)的用法及区别(详解)
2017/02/12 Javascript
微信小程序 UI与容器组件总结
2017/02/21 Javascript
微信小程序 设置启动页面的两种方法
2017/03/09 Javascript
对象不支持indexOf属性或方法的解决方法(必看)
2017/05/28 Javascript
jQuery zTree搜索-关键字查询 递归无限层功能实现代码
2018/01/25 jQuery
vue 中swiper的使用教程
2018/05/22 Javascript
小程序点击图片实现png转jpg
2019/10/22 Javascript
nuxt.js添加环境变量,区分项目打包环境操作
2020/11/06 Javascript
[02:29]DOTA2英雄基础教程 陈
2013/12/17 DOTA
[36:54]Mineski vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[03:33]TI9战队采访 - Infamous
2019/08/20 DOTA
python实现获取序列中最小的几个元素
2014/09/25 Python
python导入csv文件出现SyntaxError问题分析
2017/12/15 Python
Django添加feeds功能的示例
2018/08/07 Python
Python实现扫码工具的示例代码
2020/10/09 Python
波兰快递服务:Globkurier.pl
2019/11/08 全球购物
企业办公室岗位职责
2014/03/12 职场文书
自主招生自荐信格式
2015/03/04 职场文书
学历证明样本
2015/06/16 职场文书
股东协议书范本2016
2016/03/21 职场文书
php随机生成验证码,php随机生成数字,php随机生成数字加字母!
2021/04/01 PHP