Python除法之传统除法、Floor除法及真除法实例详解


Posted in Python onMay 23, 2019

先给大家介绍下Python除法之传统除法、Floor除法及真除法

python3.0

/总是执行真除法,不管操作数的类型,都返回浮点数结果(即使能整除,如4/2==2.0);
//执行Floor除法,会截断余数直接返回一个整数,如果有任何一个操作数是浮点数则返回浮点数(如4//2==2,3//2==1.5, 4.0//2==2.0)

总之:在python3.0中,/为真除法,不会截断,且结果无论能否整除都是浮点数;//为地板除法,会对除法的结果进行取整返回,至于返回的结果是否是浮点数取决于操作数中有无浮点数,如两个操作数都是整数那么就直接返回一个取整后的整数,如果操作数中有浮点数则返回结果是浮点数。

python2.0

/表示传统除法,如果两个操作数都是整数的话执行截断除法,否则执行浮点除法,//执行Floor除法,同3.0

注意

在3.0中,/的结果总是返回浮点数与操作数类型无关,而//的结果总是依赖于操作数的类型,如果有一个是浮点数结果就是浮点数

ps:下面看下Python3除法之真除法、截断除法和下取整对比

概述

在Python3中,数学运算中的除法被分为两种,分别是“真除法”,即无论任何类型相除的结果都会保留小数点,和我们实际的数学运算结果一致,而“截断除法”,则是无论任何类型相除的结果都会省略结果的小数部分,剩下最小的能整除的整数部分。以下是两种除法的基本形式:

# 真除法
X / Y
# 截断除法
X // Y

真除法

X = 8
Y = 2
Z = 3
print(X / Y)
print(X / Z)

示例结果:

4.0
2.6666666666666665

真除法的结果表明不论操作数的类型其相除结果都返回一个浮点结果。

截断除法

X = 8
Y = 2
Z = 3
S = -8

print(X // Y)
print(X // Z)
print(S // Y)
print(S // Z)

示例结果:

4
2
-4
-3

从示例中我们可以看到,截断除法并不是真的直接去掉小数点后面的数字,而是类似模块 math 中的 floor 方法,即向下取整,且负值的取整方式也是这样的。

import math
math.floor(2.0)
math.floor(2.6666666666666665)
math.floor(-2.0)
math.floor(-2.6666666666666665)

示例结果:

2
2
-2
-3

同样的模块 math 中的 ceil 方法可以实现浮点数的上取整。

import math
print(math.ceil(2.0))
print(math.ceil(2.6666666666666665))
print(math.ceil(-2.0))
print(math.ceil(-2.6666666666666665))

2
3
-2
-2

总结

以上所述是小编给大家介绍的Python除法之传统除法、Floor除法及真除法,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

Python 相关文章推荐
Python中%r和%s的详解及区别
Mar 16 Python
python 3.6.2 安装配置方法图文教程
Sep 18 Python
Python中的Socket 与 ScoketServer 通信及遇到问题解决方法
Apr 01 Python
python实现代码统计程序
Sep 19 Python
Django实现文件上传下载
Oct 06 Python
Django 框架模型操作入门教程
Nov 05 Python
django中间键重定向实例方法
Nov 10 Python
Python 模拟动态产生字母验证码图片功能
Dec 24 Python
python实现梯度法 python最速下降法
Mar 24 Python
在Anaconda3下使用清华镜像源安装TensorFlow(CPU版)
Apr 19 Python
Python如何爬取qq音乐歌词到本地
Jun 01 Python
Django静态文件加载失败解决方案
Aug 26 Python
详解Python3除法之真除法、截断除法和下取整对比
May 23 #Python
python实现远程控制电脑
May 23 #Python
python日志logging模块使用方法分析
May 23 #Python
Django框架模板语言实例小结【变量,标签,过滤器,继承,html转义】
May 23 #Python
Django框架模板文件使用及模板文件加载顺序分析
May 23 #Python
Django框架登录加上验证码校验实现验证功能示例
May 23 #Python
python图形工具turtle绘制国际象棋棋盘
May 23 #Python
You might like
php通过文件头判断格式的方法
2016/05/28 PHP
PHP数组相加操作及与array_merge的区别浅析
2016/11/26 PHP
针对thinkPHP5框架存储过程bug重写的存储过程扩展类完整实例
2018/06/16 PHP
不能再简单的无闪刷新验证码原理很简单
2007/11/05 Javascript
该如何加载google-analytics(或其他第三方)的JS
2010/05/13 Javascript
jquery 日期分离成年月日的代码
2010/05/14 Javascript
jQuery + Flex 通过拖拽方式动态改变图片的代码
2011/08/03 Javascript
图片在浏览器中底部对齐 解决方法之一
2011/11/30 Javascript
统计jQuery中各字符串出现次数的工具
2012/05/03 Javascript
div+css+js实现无缝滚动类似marquee无缝滚动兼容firefox
2013/08/29 Javascript
javascript常用功能汇总
2015/07/05 Javascript
jQuery中iframe的操作(点击按钮新增窗口)
2016/04/20 Javascript
拖动时防止选中
2017/02/03 Javascript
详解Vue 事件驱动和依赖追踪
2017/04/22 Javascript
基于代数方程库Algebra.js解二元一次方程功能示例
2017/06/09 Javascript
jQuery+HTML5实现WebGL高性能烟花绽放动画效果【附demo源码下载】
2017/08/18 jQuery
vue.js项目中实用的小技巧汇总
2017/11/29 Javascript
ES6中字符串的使用方法扩展
2019/06/04 Javascript
JS Math对象与Math方法实例小结
2019/07/05 Javascript
vue移动端弹起蒙层滑动禁止底部滑动操作
2020/07/22 Javascript
Python中在for循环中嵌套使用if和else语句的技巧
2016/06/20 Python
详解python的argpare和click模块小结
2019/03/31 Python
浅谈Python_Openpyxl使用(最全总结)
2019/09/05 Python
用于ETL的Python数据转换工具详解
2020/07/21 Python
selenium框架中driver.close()和driver.quit()关闭浏览器
2020/12/08 Python
在vscode中启动conda虚拟环境的思路详解
2020/12/25 Python
使用Html5多媒体实现微信语音功能
2019/07/26 HTML / CSS
2014年党的群众路线整改措施思想汇报
2014/10/12 职场文书
小学生表扬稿范文
2015/05/05 职场文书
帝企鹅日记观后感
2015/06/10 职场文书
简爱读书笔记
2015/06/26 职场文书
婚礼伴郎致辞
2015/07/28 职场文书
办公用品管理制度
2015/08/04 职场文书
初中语文教师研修日志
2015/11/13 职场文书
普希金的诗歌赏析(3首)
2019/08/20 职场文书
centos8安装MongoDB的详细过程
2021/10/24 MongoDB