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基于pygame实现响应游戏中事件的方法(附源码)
Nov 11 Python
Python及Pycharm安装方法图文教程
Aug 05 Python
numpy.random.shuffle打乱顺序函数的实现
Sep 10 Python
python+opencv3生成一个自定义纯色图教程
Feb 19 Python
Python 开发工具PyCharm安装教程图文详解(新手必看)
Feb 28 Python
Python爬虫爬取百度搜索内容代码实例
Jun 05 Python
用于ETL的Python数据转换工具详解
Jul 21 Python
python字典通过值反查键的实现(简洁写法)
Sep 30 Python
详解pycharm配置python解释器的问题
Oct 15 Python
Numpy数组的广播机制的实现
Nov 03 Python
python urllib和urllib3知识点总结
Feb 08 Python
python程序的组织结构详解
Dec 06 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
实用函数7
2007/11/08 PHP
for循环连续求和、九九乘法表代码
2012/02/20 PHP
使用php+apc实现上传进度条且在IE7下不显示的问题解决方法
2013/04/25 PHP
PHP笔记之:基于面向对象设计的详解
2013/05/14 PHP
php发送短信验证码完成注册功能
2015/11/24 PHP
拖动一个HTML元素
2006/12/22 Javascript
js调用css属性写法
2013/09/21 Javascript
JS 数字转换研究总结
2013/12/26 Javascript
jQuery之字体大小的设置方法
2014/02/27 Javascript
node.js中的fs.chmod方法使用说明
2014/12/18 Javascript
jQuery及JS实现循环中暂停的方法
2015/02/02 Javascript
JavaScript中利用构造器函数模拟类的方法
2017/02/16 Javascript
jQuery使用bind函数实现绑定多个事件的方法
2017/10/11 jQuery
深入理解JavaScript的async/await
2018/08/05 Javascript
laydate时间日历插件使用方法详解
2018/11/14 Javascript
JavaScript实现的鼠标跟随特效示例【2则实例】
2018/12/22 Javascript
Three.js中矩阵和向量的使用教程
2019/03/19 Javascript
深入了解Hybrid App技术的相关知识
2019/07/17 Javascript
python写入xml文件的方法
2015/05/08 Python
python daemon守护进程实现
2016/08/27 Python
Python读取YUV文件,并显示的方法
2018/12/04 Python
Python 3 实现定义跨模块的全局变量和使用教程
2019/07/07 Python
python 实现方阵的对角线遍历示例
2019/11/29 Python
美国孕妇装品牌:Destination Maternity
2018/02/04 全球购物
美国户外运动商店:Sun & Ski
2018/08/23 全球购物
帕克纽约:PARKER NY
2018/12/09 全球购物
size?爱尔兰官方网站:英国伦敦的球鞋精品店
2019/03/31 全球购物
新大陆软件面试题
2016/11/24 面试题
自我鉴定三原则
2014/01/13 职场文书
农村党支部先进事迹
2014/01/14 职场文书
租房协议书样本
2014/08/20 职场文书
大学竞选班干部演讲稿
2014/08/21 职场文书
2015年全国“爱牙日”宣传活动总结
2015/03/23 职场文书
家属联谊会致辞
2015/07/31 职场文书
公安纪律作风整顿心得体会
2016/01/23 职场文书
解决MultipartFile.transferTo(dest) 报FileNotFoundExcep的问题
2021/07/01 Java/Android