对python中的float除法和整除法的实例详解


Posted in Python onJuly 20, 2019

从python2.2开始,便有两种除法运算符:"/"、"//"。两者最大区别在:

python2.2前的版本和python2.2以后3.0以前的版本的默认情况下,"/"所做的除法是以一种两个数或者多个数出现一个浮点数结果就以浮点数的形式表示,即float除法

"//"所做的除法则不相同,"//"不管两者出现任何数,都以整除结果为准,不对小数部分进行处理,直接抛弃,也就是整除法

以下是笔者在编译器测试的数据,测试的版本是python2.7

关于"/":

>>> 3/2
1
>>> 3/2.0
1.5
>>> 3.0/2
1.5
>>> 10/3.0
3.3333333333333335

由以上的例子我们可得出,只要除数中有一个数是浮点数,那么得到的结果也是浮点数

以下是关于"//":

>>> 3//2
1
>>> 3//2.0
1.0
>>> 3.0//2
1.0
>>> 3.0//2.0
1.0

由以上的例子,我们可以看出,两个整型相除,得到的还是整型,但是。如果一个浮点数除以一个非浮点数得到的还会是一个浮点数,但是,计算的结果却是忽略小数部分,运算的结果类似两个整型相除,但是得到一个浮点数。另外"//"对于两个浮点数也是不例外的。

如何让"/"和"//"进行分工

在默认情况下,这两种运算符有很大的重叠地方,比如,当两个数都是整数的时候,两者的运算结果是没有区别的。如果想在python中让这两种有一个明确的分工。即"/"可以用于float除法,"//"用于整除法,我们可以在程序开始的时候做以下声明:

from __future__ import division

声明后测试的结果(以下测试的版本是python2.7)

>>> from __future__ import division
>>> 3/2
1.5
>>> 3.0/2
1.5
>>> 3/2.0
1.5
>>> 3.0/2.0
1.5
>>> 3//2
1
>>> 3.0//2
1.0
>>> 3.0//2.0
1.0
>>> 3//2.0
1.0
>>> -11/2
-5.5

以上,我们可以知道,做这个声明以后,"/"进行的将是float除法而不是整除法。

还需要注意的是,在pyhton3中,"/"表示的就是float除,不需要再引入模块,就算分子分母都是int,返回的也将是浮点数

以上这篇对python中的float除法和整除法的实例详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Cpy和Python的效率对比
Mar 20 Python
Python中的一些陷阱与技巧小结
Jul 10 Python
Windows下的Jupyter Notebook 安装与自定义启动(图文详解)
Feb 21 Python
python实现批量按比例缩放图片效果
Mar 30 Python
python 从csv读数据到mysql的实例
Jun 21 Python
Python使用分布式锁的代码演示示例
Jul 30 Python
pandas dataframe添加表格框线输出的方法
Feb 08 Python
python进程间通信Queue工作过程详解
Nov 01 Python
Win10里python3创建虚拟环境的步骤
Jan 31 Python
PyCharm如何导入python项目的方法
Feb 06 Python
Python selenium爬取微博数据代码实例
May 22 Python
python 如何用terminal输入参数
May 25 Python
python从list列表中选出一个数和其对应的坐标方法
Jul 20 #Python
Python实现一个数组除以一个数的例子
Jul 20 #Python
python 环境搭建 及python-3.4.4的下载和安装过程
Jul 20 #Python
在Python中append以及extend返回None的例子
Jul 20 #Python
python 字符串追加实例
Jul 20 #Python
python爬取盘搜的有效链接实现代码
Jul 20 #Python
python将字符串list写入excel和txt的实例
Jul 20 #Python
You might like
在PHP中使用灵巧的体系结构
2006/10/09 PHP
PHP+FLASH实现上传文件进度条相关文件 下载
2007/07/21 PHP
海河写的 Discuz论坛帖子调用js的php代码
2007/08/23 PHP
PHP设计模式之外观模式(Facade)入门与应用详解
2019/12/13 PHP
线路分流自动跳转代码;希望对大家有用!
2006/12/02 Javascript
javascript事件模型代码
2007/07/01 Javascript
用JavaScript将从数据库中读取出来的日期型格式化为想要的类型。
2009/08/15 Javascript
JavaScript 函数参数是传值(byVal)还是传址(byRef) 分享
2013/07/02 Javascript
js使用递归解析xml
2014/12/12 Javascript
JQuery中两个ul标签的li互相移动实现方法
2015/05/18 Javascript
readonly和disabled属性的区别
2015/07/26 Javascript
javascript实现的猜数小游戏完整实例代码
2016/05/10 Javascript
Nodejs高扩展性的模板引擎 functmpl简介
2017/02/13 NodeJs
vue如何实现observer和watcher源码解析
2017/03/09 Javascript
vue过渡和animate.css结合使用详解
2017/06/14 Javascript
jQuery validata插件实现方法
2017/06/25 jQuery
微信小程序开发实现的IP地址查询功能示例
2019/03/28 Javascript
javascript面向对象创建对象的方式小结
2019/07/29 Javascript
原生javascript制作贪吃蛇小游戏的方法分析
2020/02/26 Javascript
Flask入门之上传文件到服务器的方法示例
2018/07/18 Python
pandas 数据结构之Series的使用方法
2019/06/21 Python
如何安装并使用conda指令管理python环境
2019/07/10 Python
Python中最好用的命令行参数解析工具(argparse)
2019/08/23 Python
python基于event实现线程间通信控制
2020/01/13 Python
检测tensorflow是否使用gpu进行计算的方式
2020/02/03 Python
canvas像素点操作之视频绿幕抠图
2018/09/11 HTML / CSS
澳大利亚人信任的清洁平台,您的私人管家:Jarvis
2020/12/25 全球购物
英国银首饰公司:e&e Jewellery
2021/02/11 全球购物
某公司面试题
2012/03/05 面试题
两道JAVA笔试题
2016/09/14 面试题
太太口服液广告词
2014/03/20 职场文书
优秀护士演讲稿
2014/04/30 职场文书
中队活动总结
2014/08/27 职场文书
vue中data改变后让视图同步更新的方法
2021/03/29 Vue.js
VUE之图片Base64编码使用ElementUI组件上传
2022/04/09 Vue.js
纯CSS打字动画的实现示例
2022/08/05 HTML / CSS