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的批量远程管理和部署工具Fabric用法实例
Jan 23 Python
Python魔术方法详解
Feb 14 Python
Python实现的简单hangman游戏实例
Jun 28 Python
python高阶爬虫实战分析
Jul 29 Python
解决项目pycharm能运行,在终端却无法运行的问题
Jan 19 Python
用Python配平化学方程式的方法
Jul 20 Python
Numpy 中的矩阵求逆实例
Aug 26 Python
python中的TCP(传输控制协议)用法实例分析
Nov 15 Python
Python 写了个新型冠状病毒疫情传播模拟程序
Feb 14 Python
关于Python turtle库使用时坐标的确定方法
Mar 19 Python
Python多线程thread及模块使用实例
Apr 28 Python
python能自学吗
Jun 18 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学习笔记之二 php入门知识
2011/01/12 PHP
解析php中eclipse 用空格替换 tab键
2013/06/24 PHP
Yii视图CGridView列表用法实例分析
2016/07/12 PHP
jQuery ui 1.7更新小结
2009/08/15 Javascript
JS模拟面向对象全解(二、类型与赋值)
2011/07/13 Javascript
jQuery探测位置的提示弹窗(toolTip box)详细解析
2013/11/14 Javascript
基于jquery实现省市联动效果
2015/11/23 Javascript
js事件处理程序跨浏览器解决方案
2016/03/27 Javascript
AngularJS递归指令实现Tree View效果示例
2016/11/07 Javascript
jQuery 实时保存页面动态添加的数据的示例
2017/08/14 jQuery
vue mixins组件复用的几种方式(小结)
2017/09/06 Javascript
使用vue实现简单键盘的示例(支持移动端和pc端)
2017/12/25 Javascript
Angular2进阶之如何避免Dom误区
2018/04/02 Javascript
react 创建单例组件的方法
2018/04/26 Javascript
详解SPA中前端路由基本原理与实现方式
2018/09/12 Javascript
node中实现删除目录的几种方法
2019/06/24 Javascript
[02:25]DOTA2英雄基础教程 熊战士
2014/01/03 DOTA
Python使用shelve模块实现简单数据存储的方法
2015/05/20 Python
Python切片索引用法示例
2018/05/15 Python
详解Python中的分组函数groupby和itertools)
2018/07/11 Python
基于python指定包的安装路径方法
2018/10/27 Python
举例讲解Python常用模块
2019/03/08 Python
django日志默认打印request请求信息的方法示例
2020/05/17 Python
python实现文法左递归的消除方法
2020/05/22 Python
pycharm sciview的图片另存为操作
2020/06/01 Python
CSS3制作精致的照片墙特效
2016/06/07 HTML / CSS
canvas绘制文本内容自动换行的实现代码
2019/01/14 HTML / CSS
Hotels.com台湾:饭店订房网
2017/09/06 全球购物
Abbacino官网:包、钱包和女士配饰
2019/04/15 全球购物
2014年纪检部工作总结
2014/11/12 职场文书
护士年终考核评语
2014/12/31 职场文书
逃课检讨书
2015/01/26 职场文书
初中生物教学反思
2016/02/20 职场文书
汽车销售合同文本
2019/08/08 职场文书
《攀登者》:“海拔8000米以上,你不能指望任何人”
2019/11/25 职场文书
CSS实现鼠标悬浮动画特效
2023/05/07 HTML / CSS