对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 相关文章推荐
举例讲解Python中的list列表数据结构用法
Mar 12 Python
python正则表达式之作业计算器
Mar 18 Python
python访问抓取网页常用命令总结
Apr 11 Python
python中的随机函数小结
Jan 27 Python
新手入门Python编程的8个实用建议
Jul 12 Python
使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件及出现问题解决方法
Sep 06 Python
django在保存图像的同时压缩图像示例代码详解
Feb 11 Python
在pycharm中为项目导入anacodna环境的操作方法
Feb 12 Python
PyTorch中的C++扩展实现
Apr 02 Python
python 解决pycharm运行py文件只有unittest选项的问题
Sep 01 Python
使用numpngw和matplotlib生成png动画的示例代码
Jan 24 Python
Python借助with语句实现代码段只执行有限次
Mar 23 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
配置支持SSI
2006/11/25 PHP
ThinkPHP使用PHPExcel实现Excel数据导入导出完整实例
2014/07/22 PHP
php生成随机颜色的方法
2014/11/13 PHP
php实现登录页面的简单实例
2019/09/29 PHP
Javascript 按位与运算符 (&)使用介绍
2014/02/04 Javascript
Js获取下拉框选定项的值和文本的实现代码
2014/02/26 Javascript
javascript实现避免页面按钮重复提交
2015/01/08 Javascript
jscript读写二进制文件的方法
2015/04/22 Javascript
JS实现灵巧的下拉导航效果代码
2015/08/25 Javascript
漂亮! js实现颜色渐变效果
2016/08/12 Javascript
js的三种继承方式详解
2017/01/21 Javascript
JS中绑定事件顺序(事件冒泡与事件捕获区别)
2017/01/24 Javascript
一文读懂ES7中的javascript修饰器
2019/05/06 Javascript
如何使用JavaScript检测空闲的浏览器选项卡
2020/05/28 Javascript
vue.js click点击事件获取当前元素对象的操作
2020/08/07 Javascript
Python生成随机密码的方法
2017/06/16 Python
Android分包MultiDex策略详解
2017/10/30 Python
对pandas中to_dict的用法详解
2018/06/05 Python
python生成1行四列全2矩阵的方法
2018/08/04 Python
基于Python实现迪杰斯特拉和弗洛伊德算法
2020/05/27 Python
PyCharm无法识别PyQt5的2种解决方法,ModuleNotFoundError: No module named 'pyqt5'
2020/02/17 Python
Python使用Paramiko控制liunx第三方库
2020/05/20 Python
如何使用localstorage代替cookie实现跨域共享数据问题
2018/04/18 HTML / CSS
家乐福巴西网上超市:Carrefour巴西
2016/10/31 全球购物
Ralph Lauren拉夫·劳伦美国官网:带有浓郁美国气息的高品味时装品牌
2017/11/01 全球购物
Onzie官网:美国时尚瑜伽品牌
2019/08/21 全球购物
C#中类(class)与结构(struct)的异同
2013/11/03 面试题
教师找工作推荐信
2013/11/23 职场文书
《守株待兔》教学反思
2014/03/01 职场文书
微电影大赛策划方案
2014/06/05 职场文书
机械机修工岗位职责
2014/08/03 职场文书
2014年政工师工作总结
2014/12/18 职场文书
Go Gin实现文件上传下载的示例代码
2021/04/02 Golang
golang 实现对Map进行键值自定义排序
2021/04/28 Golang
nodejs利用readline提示输入内容实例代码
2021/07/15 NodeJs
HTML5 新增内容和 API详解
2021/11/17 HTML / CSS