详谈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使用心得之获得github代码库列表
Jun 25 Python
python插入排序算法实例分析
Jul 03 Python
python网络爬虫之如何伪装逃过反爬虫程序的方法
Nov 23 Python
Python多线程threading和multiprocessing模块实例解析
Jan 29 Python
Anaconda 离线安装 python 包的操作方法
Jun 11 Python
Django实现支付宝付款和微信支付的示例代码
Jul 25 Python
python实现AES加密与解密
Mar 28 Python
python和mysql交互操作实例详解【基于pymysql库】
Jun 04 Python
python中栈的原理及实现方法示例
Nov 27 Python
python中JWT用户认证的实现
May 18 Python
python语言是免费还是收费的?
Jun 15 Python
正确的理解和使用Django信号(Signals)
Apr 14 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 中文乱码解决办法总结分析
2009/07/30 PHP
php calender(日历)二个版本代码示例(解决2038问题)
2013/12/24 PHP
PHP表单提交后引号前自动加反斜杠的原因及三种办法关闭php魔术引号
2015/09/30 PHP
PHP单态模式简单用法示例
2016/11/16 PHP
谈谈php对接芝麻信用踩的坑
2016/12/01 PHP
javascript options属性集合操作代码
2009/12/28 Javascript
jQuery 获取URL参数的插件
2010/03/04 Javascript
浏览器加载、渲染和解析过程黑箱简析
2012/11/29 Javascript
如何使用jquery动态加载js,css文件实现代码
2013/04/03 Javascript
jQuery实现切换页面过渡动画效果
2015/10/29 Javascript
基于jquery实现的仿优酷图片轮播特效代码
2016/01/13 Javascript
一个用jquery写的判断div滚动条到底部的方法【推荐】
2016/04/29 Javascript
jquery将标签元素的高设为屏幕的百分比
2017/04/19 jQuery
JavaScript用二分法查找数据的实例代码
2017/06/17 Javascript
详解JS数据类型的值拷贝函数(深拷贝)
2017/07/13 Javascript
基于 Vue.js 2.0 酷炫自适应背景视频登录页面实现方式
2018/01/17 Javascript
在 Typescript 中使用可被复用的 Vue Mixin功能
2018/04/17 Javascript
Vue请求JSON Server服务器数据的实现方法
2018/11/02 Javascript
详解vue中的父子传值双向绑定及数据更新问题
2019/06/13 Javascript
VUE : vue-cli中去掉路由中的井号#操作
2020/09/04 Javascript
[03:49]DOTA2英雄基础教程 光之守卫
2014/01/14 DOTA
Flask入门教程实例:搭建一个静态博客
2015/03/27 Python
Python之py2exe打包工具详解
2017/06/14 Python
python开启摄像头以及深度学习实现目标检测方法
2018/08/03 Python
python3模拟实现xshell远程执行liunx命令的方法
2019/07/12 Python
PyCharm2020.1.2社区版安装,配置及使用教程详解(Windows)
2020/08/07 Python
css3实现超立体3D图片侧翻倾斜效果
2014/04/16 HTML / CSS
基于HTML5的齿轮动画特效
2016/02/29 HTML / CSS
char型变量中能不能存贮一个中文汉字
2015/07/08 面试题
小饰品店的创业计划书范文
2013/12/28 职场文书
2014年大学生就业规划书
2014/04/04 职场文书
项目合作协议书
2014/04/16 职场文书
副乡长群众路线教育实践活动个人对照检查材料
2014/09/19 职场文书
领导班子整改方案和个人整改措施
2014/10/25 职场文书
入党函调证明材料
2015/06/19 职场文书
LayUI+Shiro实现动态菜单并记住菜单收展的示例
2021/05/06 Javascript