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基础之函数用法实例详解
Sep 10 Python
python3之微信文章爬虫实例讲解
Jul 12 Python
Python网络爬虫与信息提取(实例讲解)
Aug 29 Python
Python使用functools实现注解同步方法
Feb 06 Python
无法使用pip命令安装python第三方库的原因及解决方法
Jun 12 Python
python实现随机漫步方法和原理
Jun 10 Python
python输入多行字符串的方法总结
Jul 02 Python
pytorch中的卷积和池化计算方式详解
Jan 03 Python
如何在Python 游戏中模拟引力
Mar 27 Python
python中PyQuery库用法分享
Jan 15 Python
如何用python反转图片,视频
Apr 24 Python
Flask搭建一个API服务器的步骤
May 28 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+FLASH实现上传文件进度条相关文件 下载
2007/07/21 PHP
PHP 执行系统外部命令 system() exec() passthru()
2009/08/11 PHP
支持数组的ADDSLASHES的php函数
2010/02/16 PHP
基于GD2图形库的PHP生成图片缩略图类代码分享
2015/02/08 PHP
为何说PHP引用是个坑,要慎用
2018/04/02 PHP
Laravel模型间关系设置分表的方法示例
2018/04/21 PHP
PHP如何使用cURL实现Get和Post请求
2020/07/11 PHP
javascript 快速排序函数代码
2012/05/30 Javascript
JS+CSS实现鼠标滑过时动态翻滚的导航条效果
2015/09/24 Javascript
详解AngularJS中$http缓存以及处理多个$http请求的方法
2016/02/06 Javascript
jqGrid 学习笔记整理——进阶篇(一 )
2016/04/17 Javascript
jQuery学习笔记之入门
2016/12/14 Javascript
无阻塞加载js,防止因js加载不了影响页面显示的问题
2016/12/18 Javascript
jQuery条件分页 代替离线查询(附代码)
2017/08/17 jQuery
vue2中,根据list的id进入对应的详情页并修改title方法
2018/08/24 Javascript
JS/HTML5游戏常用算法之路径搜索算法 随机迷宫算法详解【普里姆算法】
2018/12/13 Javascript
Vue+Element UI+Lumen实现通用表格分页功能
2019/02/02 Javascript
vue.js实现数据库的JSON数据输出渲染到html页面功能示例
2019/08/03 Javascript
Python设置默认编码为utf8的方法
2016/07/01 Python
Python中运算符"=="和"is"的详解
2016/10/08 Python
Python md5与sha1加密算法用法分析
2017/07/14 Python
Python机器学习之决策树算法实例详解
2017/12/06 Python
对Python3之进程池与回调函数的实例详解
2019/01/22 Python
python 计算一个字符串中所有数字的和实例
2019/06/11 Python
python3实现的zip格式压缩文件夹操作示例
2019/08/17 Python
Visual Studio Code搭建django项目的方法步骤
2020/09/17 Python
美国嘻哈首饰购物网站:Hip Hop Bling
2016/12/30 全球购物
犹他州最古老的体育用品公司:Al’s
2020/12/18 全球购物
SQL中where和having的区别
2012/06/17 面试题
经济管理专业毕业生自荐信范文
2014/01/02 职场文书
学校节能宣传周活动总结
2014/07/09 职场文书
小学生春游活动方案
2014/08/20 职场文书
2015年前台接待工作总结
2015/05/04 职场文书
公安纪律作风整顿心得体会
2016/01/23 职场文书
vue动态绑定style样式
2022/04/20 Vue.js
MySQL 数据库范式化设计理论
2022/04/22 MySQL