对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的GUI框架PySide的安装配置教程
Feb 16 Python
基于python绘制科赫雪花
Jun 22 Python
分析python请求数据
Aug 19 Python
matplotlib实现区域颜色填充
Mar 18 Python
对Python中画图时候的线类型详解
Jul 07 Python
python实现比对美团接口返回数据和本地mongo数据是否一致示例
Aug 09 Python
python实现引用其他路径包里面的模块
Mar 09 Python
python爬虫可以爬什么
Jun 16 Python
2021年的Python 时间轴和即将推出的功能详解
Jul 27 Python
python中用ggplot绘制画图实例讲解
Jan 26 Python
利用python实时刷新基金估值(摸鱼小工具)
Sep 15 Python
Python爬虫入门案例之爬取去哪儿旅游景点攻略以及可视化分析
Oct 16 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
各种战术和打法的原创者
2020/03/04 星际争霸
PHP 中文处理技巧
2010/04/25 PHP
PHP学习笔记之二 php入门知识
2011/01/12 PHP
CodeIgniter整合Smarty的方法详解
2017/08/25 PHP
判断多个元素(RADIO,CHECKBOX等)是否被选择的原理说明
2009/02/18 Javascript
ext checkboxgroup 回填数据解决
2009/08/21 Javascript
容易被忽略的JS脚本特性
2011/09/13 Javascript
javascript定时器完整实例
2015/02/10 Javascript
prototype框架中美元符号$用法分析
2016/01/22 Javascript
jQuery封装的屏幕居中提示信息代码
2016/06/08 Javascript
JavaScript提高加载和执行效率的方法
2017/02/03 Javascript
浅谈关于angularJs中使用$.ajax的注意点
2017/08/12 Javascript
react 父组件与子组件之间的值传递的方法
2017/09/14 Javascript
用React实现一个完整的TodoList的示例代码
2017/10/30 Javascript
微信小程序中使用ECharts 异步加载数据的方法
2018/06/27 Javascript
Node批量爬取头条视频并保存方法
2018/09/20 Javascript
node.js实现为PDF添加水印的示例代码
2018/12/05 Javascript
Vue 前端实现登陆拦截及axios 拦截器的使用
2019/07/17 Javascript
layui实现把数据表格时间戳转换为时间格式的例子
2019/09/12 Javascript
深入理解javascript prototype的相关知识
2019/09/19 Javascript
微信小程序实现限制用户转发功能的实例代码
2020/02/22 Javascript
[04:36]DOTA2国际邀请赛 ti3精彩集锦
2013/08/19 DOTA
[02:29]完美世界高校联赛上海赛区回顾
2015/12/15 DOTA
Anaconda 离线安装 python 包的操作方法
2018/06/11 Python
python如何使用Redis构建分布式锁
2020/01/16 Python
python中封包建立过程实例
2021/02/18 Python
Web页面中八种创建多列等高(等高列布局)的实现技术
2012/12/24 HTML / CSS
html5自带表单验证体验优化及提示气泡修改功能
2017/09/12 HTML / CSS
NBA欧洲商店(法国):NBA Europe Store FR
2016/10/19 全球购物
李培根演讲稿
2014/05/22 职场文书
无私奉献演讲稿
2014/09/04 职场文书
项目安全员岗位职责
2015/02/15 职场文书
2015年度学校卫生工作总结
2015/05/12 职场文书
详解MySQL 用户权限管理
2021/04/20 MySQL
MySQL 字符集 character
2022/05/04 MySQL
Redis过期数据是否会被立马删除
2022/07/23 Redis