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 相关文章推荐
将Emacs打造成强大的Python代码编辑工具
Nov 20 Python
PyQt5每天必学之布局管理
Apr 19 Python
对Pandas DataFrame缺失值的查找与填充示例讲解
Nov 06 Python
python 求某条线上特定x值或y值的点坐标方法
Jul 09 Python
Python Subprocess模块原理及实例
Aug 26 Python
如何利用python给图片添加半透明水印
Sep 06 Python
使用Python爬虫库BeautifulSoup遍历文档树并对标签进行操作详解
Jan 25 Python
将pytorch转成longtensor的简单方法
Feb 18 Python
如何导出python安装的所有模块名称和版本号到文件中
Jun 05 Python
解决python便携版无法直接运行py文件的问题
Sep 01 Python
Pandas之缺失数据的实现
Jan 06 Python
Python Django模型详解
Oct 05 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 park、unpark、ord 函数使用方法(二进制流接口应用实例)
2010/10/19 PHP
php jq jquery getJSON跨域提交数据完整版
2013/09/13 PHP
PHP中的插件机制原理和实例
2014/07/08 PHP
smarty缓存用法分析
2014/12/16 PHP
Extjs学习笔记之五 一个小细节renderTo和applyTo的区别
2010/01/07 Javascript
JQuery 获取和设置Select选项的代码
2010/02/07 Javascript
JavaScript回调(callback)函数概念自我理解及示例
2013/07/04 Javascript
js中数组排序sort方法的原理分析
2014/11/20 Javascript
详解js跨域原理以及2种解决方案
2015/12/09 Javascript
JS实时弹出新消息提示框并有提示音响起的实现代码
2016/04/20 Javascript
JS原型对象的创建方法详解
2016/06/16 Javascript
JS创建Tag标签的方法详解
2017/06/09 Javascript
使用webpack打包koa2 框架app
2018/02/02 Javascript
简单说说如何使用vue-router插件的方法
2019/04/08 Javascript
VUE 实现复制内容到剪贴板的两种方法
2019/04/24 Javascript
js实现点赞按钮功能的实例代码
2020/03/06 Javascript
Vue+elementUI实现多图片上传与回显功能(含回显后继续上传或删除)
2020/03/23 Javascript
Python的迭代器和生成器使用实例
2015/01/14 Python
利用Python绘制MySQL数据图实现数据可视化
2015/03/30 Python
Python实现LRU算法的2种方法
2015/06/24 Python
Python实现短网址ShortUrl的Hash运算实例讲解
2015/08/10 Python
Python 使用SMTP发送邮件的代码小结
2016/09/21 Python
在python中修改.properties文件的操作
2020/04/08 Python
解决IDEA 的 plugins 搜不到任何的插件问题
2020/05/04 Python
python算的上脚本语言吗
2020/06/22 Python
Python+OpenCV图像处理——实现直线检测
2020/10/23 Python
详解Python利用configparser对配置文件进行读写操作
2020/11/03 Python
Python实现京东抢秒杀功能
2021/01/25 Python
利用CSS3的checked伪类实现OL的隐藏显示的方法
2010/12/18 HTML / CSS
党员学习党的群众路线思想汇报(5篇)
2014/09/10 职场文书
企业贷款委托书格式
2014/09/12 职场文书
企业总经理助理岗位职责
2014/09/12 职场文书
公司离职证明样本
2014/09/13 职场文书
金榜题名主持词
2015/07/02 职场文书
2016计算机专业毕业生自荐信
2016/01/28 职场文书
Python数据类型最全知识总结
2021/05/31 Python