为什么python除法结果会有小数点0_「Python」为什么Python里面,整除的结果会是小数?-站长资讯中心...

本文详细解析了Python中三种除法的概念及其在Python 2.6和Python 3.0中的不同表现形式,包括传统除法、精确除法和地板除,并通过具体示例帮助读者理解这些概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

760x90_D.jpg

2018-06-08

参考资料:Python学习笔记(4)负数除法和取模运算

先来看三个式子(!这是在Python3.0下的运算结果):           输出结果:

vaqnf1pp2hl.png       

aeqveok3fq0.png

‘//’明明是整除,为什么结果不是整数,而会出现小数?

首先,关于除法有三种概念:传统除法、精确除法和地板除

#1、传统除法:整数相除结果是整数,浮点数相除结果是浮点数

>>>4/2

2

>>>4.0/2

2.0

>>>4/2.0

2.0

#2、精确除法:无论操作数是整数还是浮点数,得到的商总是真实结果,总是得到浮点数

>>>4/2

2.0

>>>4.0/2

2.0

>>>4/2.0

2.0

#3、地板除:无论操作数是整数还是浮点数,得到的商不保留浮点数的尾数

>>>4//2

2

>>>4.0//2

2.0

但是!这三种除法概念在Python2.6和Python3.0中又有不同

Python2.6中,‘/’按照以上三种除法概念把结果分得更细:比如,整数相除结果为整数,只要有一个浮点数结果就是浮点数(Python2.6:>>>3/2输出1);地板除‘//’(和Python3.0一样):操作数为整数,整除结果为整数。否则操作数只要有一个浮点数,结果就为小数(这里小数和浮点数有区别,就是这个区别能解释开头引入例题)

Python3.0中,‘/’保留小数,这把‘/’的结果合并起来了,无论操作数是整数还是浮点数,结果总都是浮点数(Python3.0:>>>3/2输出1.5);地板除‘//’(和Python2.6一样):同上

因此,现在,就能解释开头引入的例题了

#Python3.0下运行的结果

>>>4.5/2

2.25

>>>4.5//2

2.0

第一个运算得到的结果是保留尾数数值的浮点数(当然也属于小数);而第二个运算,不保留尾数数值,直接截断仅保留其整数数值,但是因为有一个操作数是浮点数,所以得到的结果是小数,这个就是Python3.0对于‘//’的运算规则

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com

特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值