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 相关文章推荐
Python2.x版本中基本的中文编码问题解决
Oct 12 Python
浅析Python基础-流程控制
Mar 18 Python
Python字符串切片操作知识详解
Mar 28 Python
Python实现的将文件每一列写入列表功能示例【测试可用】
Mar 19 Python
使用sklearn进行对数据标准化、归一化以及将数据还原的方法
Jul 11 Python
Python WSGI的深入理解
Aug 01 Python
详解Python_shutil模块
Mar 15 Python
使用Python轻松完成垃圾分类(基于图像识别)
Jul 09 Python
Python学习笔记之函数的定义和作用域实例详解
Aug 13 Python
基于Python获取照片的GPS位置信息
Jan 20 Python
python 通过 pybind11 使用Eigen加速代码的步骤
Dec 07 Python
Python matplotlib 利用随机函数生成变化图形
Apr 26 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
全国FM电台频率大全 - 8 黑龙江省
2020/03/11 无线电
IIS6.0+PHP5.x+MySQL5.x+Zend3.0x+GD+phpMyAdmin2.8x通用安装实例(已经完成)
2006/12/06 PHP
PHP简单处理表单输入的特殊字符的方法
2016/02/03 PHP
PHP根据session与cookie用户登录状态操作类的代码
2016/05/13 PHP
php版微信小店API二次开发及使用示例
2016/11/12 PHP
PHP 网站修改默认访问文件的nginx配置
2017/05/27 PHP
php装饰者模式简单应用案例分析
2019/10/23 PHP
jQuery仿京东商城楼梯式导航定位菜单
2016/07/25 Javascript
理解AngularJs篇:30分钟快速掌握AngularJs
2016/12/23 Javascript
jQuery插件echarts去掉垂直网格线用法示例
2017/03/03 Javascript
Vue.js展示AJAX数据简单示例讲解
2017/03/29 Javascript
深入理解vue $refs的基本用法
2017/07/13 Javascript
vue页面加载时的进度条功能(实例代码)
2020/01/13 Javascript
微信小程序picker组件两列关联使用方式
2020/10/27 Javascript
[03:55]TI9战队采访——TNC Predator
2019/08/22 DOTA
python实现斐波那契递归函数的方法
2014/09/08 Python
用ReactJS和Python的Flask框架编写留言板的代码示例
2015/12/19 Python
Python对excel文档的操作方法详解
2018/12/10 Python
使用Python和Prometheus跟踪天气的使用方法
2019/05/06 Python
python IDLE添加行号显示教程
2020/04/25 Python
Pycharm 2020.1 版配置优化的详细教程
2020/08/07 Python
HTML5新增的表单元素和属性实例解析
2014/07/07 HTML / CSS
施华洛世奇西班牙官网:SWAROVSKI西班牙
2019/06/06 全球购物
介绍Java的内部类
2012/10/27 面试题
策划主管的工作职责
2013/11/24 职场文书
护理个人求职信范文
2014/01/08 职场文书
护理学应聘自荐书范文
2014/02/05 职场文书
婚庆司仪主持词
2014/03/15 职场文书
交通事故赔偿协议书范本
2014/04/15 职场文书
国家税务局干部作风整顿整改措施
2014/09/18 职场文书
学校师德师风整改措施
2014/10/27 职场文书
初中家长评语和期望
2014/12/26 职场文书
大学生敬老院活动总结
2015/05/07 职场文书
校运会班级霸气口号
2015/12/24 职场文书
用javascript制作qq注册动态页面
2021/04/14 Javascript
Python测试框架pytest核心库pluggy详解
2022/08/05 Golang