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 def函数的定义、使用及参数传递实现代码
Aug 10 Python
Python错误提示:[Errno 24] Too many open files的分析与解决
Feb 16 Python
pycharm运行和调试不显示结果的解决方法
Nov 30 Python
python读取csv和txt数据转换成向量的实例
Feb 12 Python
OpenCV搞定腾讯滑块验证码的实现代码
May 18 Python
python 读写文件包含多种编码格式的解决方式
Dec 20 Python
python3+opencv生成不规则黑白mask实例
Feb 19 Python
Django ORM 查询表中某列字段值的方法
Apr 30 Python
如何通过命令行进入python
Jul 06 Python
python 进程池pool使用详解
Oct 15 Python
Django显示可视化图表的实践
May 10 Python
Python实现自动玩连连看的脚本分享
Apr 04 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
百事可乐也出咖啡了 双倍咖啡因双倍快乐
2021/03/03 咖啡文化
如何给phpcms v9增加类似于phpcms 2008中的关键词表
2013/07/01 PHP
php使用curl抓取qq空间的访客信息示例
2014/02/28 PHP
php自定文件保存session的方法
2014/12/10 PHP
php实现的三个常用加密解密功能函数示例
2017/11/06 PHP
JQuery this 和 $(this) 的区别
2009/08/23 Javascript
jquery attr 设定src中含有&(宏)符号问题的解决方法
2011/07/26 Javascript
JS实现金额转换(将输入的阿拉伯数字)转换成中文的实现代码
2013/09/30 Javascript
javascript随机之洗牌算法深入分析
2014/06/07 Javascript
nodejs命令行参数处理模块commander使用实例
2014/09/17 NodeJs
JavaScript 匿名函数和闭包介绍
2015/04/13 Javascript
详解iframe与frame的区别
2016/01/13 Javascript
Javascript之Math对象详解
2016/06/07 Javascript
jQuery Validate插件ajax方式验证输入值的实例
2017/12/21 jQuery
vue2.0 如何在hash模式下实现微信分享
2019/01/22 Javascript
解决vue自定义全局消息框组件问题
2019/11/22 Javascript
Python 字符串定义
2009/09/25 Python
从零学Python之入门(五)缩进和选择
2014/05/27 Python
为Python的web框架编写MVC配置来使其运行的教程
2015/04/30 Python
Python基于matplotlib绘制栈式直方图的方法示例
2017/08/09 Python
Django中间件工作流程及写法实例代码
2018/02/06 Python
python提取包含关键字的整行数据方法
2018/12/11 Python
python pygame实现方向键控制小球
2019/05/17 Python
Python语言进阶知识点总结
2019/05/28 Python
Django用户认证系统 User对象解析
2019/08/02 Python
keras 回调函数Callbacks 断点ModelCheckpoint教程
2020/06/18 Python
Python 利用flask搭建一个共享服务器的步骤
2020/12/05 Python
作为网站管理者应当如何防范XSS
2014/08/16 面试题
工作的心得体会
2013/12/31 职场文书
结婚邀请函范文
2014/01/14 职场文书
教育英语专业毕业生的求职信
2014/03/13 职场文书
毕业评语大全
2014/05/04 职场文书
导游词幽默开场白
2019/06/26 职场文书
sql server偶发出现死锁的解决方法
2022/04/10 SQL Server
golang用type-switch判断interface的实际存储类型
2022/04/14 Golang
大脑的记忆过程在做数据压缩,不同图形也有共同的记忆格式
2022/04/29 数码科技