Python中除法有两种运算符:'/'和'//';有三种类型的除法:传统除法、Floor除法和真除法。
X / Y类型:
在Python2.6或者之前,这个 *** 作对于整数运算会省去小数部分,而对于浮点数运算会保持小数部分;在python3.0中变成真除法(无论任何类型都会保持小数部分,即使整除也会表示为浮点数形式)。
示例代码:
Python 2.7版本中结果:
>>> 3/21>>> 3/2.01.5>>> 4/22>>> 4/2.02.0
Python 3.4版本中结果:
>>> 3/21.5>>> 3/2.01.5>>> 4/22.0>>> 4/2.02.0
X // Y 类型:
Floor除法:在Python 2.2中新增的 *** 作,在Python2.6和python3.0中均能使用,这个 *** 作不考虑 *** 作对象的类型,总是省略小数部分,剩下最小的能整除的整数部分。
示例代码:
Python 2.7版本中结果:
>>> 3//21>>> 3//2.01.0>>> 4//22>>> 4//2.02.0
Python 3.4版本中结果(与2.7版本一样):
概括
>>> 3//21>>> 3//2.01.0>>> 4//22>>> 4//2.02.0
来讲:
• 在Python 2.6中,'/'执行传统除法,如果 *** 作数都是整数的话,执行截断的整数除法(即对于结果只保留整数部分),否则,执行浮点除法(保留余数);'//'执行Floor除法,与python3.0一样,对于整数执行截断除法,浮点数执行浮点除法。
• 在Python 3.0中,'/'总是执行真除法,不管 *** 作数的类型,都会返回包含任何余数的浮点结果;'//'执行Floor除法,截除掉余数并且针对整数 *** 作数返回一个整数,如果有任何一个 *** 作数是浮点数,则返回一个浮点数。
-------------------------------------------------
补充:
Floor除法:效果等同于math模块中的floor函数:
math.floor(x) :返回不大于x的整数
所以当运算数是负数时:结果会向下取整。
>>> 5//3 #1.66666666666666671>>> -5//3-2>>>
与floor()函数类似的还有很多,比如trunc()函数:
>>> import math>>> math.trunc(-1.6)-1>>> math.trunc(1.6)1
以上这篇详谈Python2.6和python3.0中对除法 *** 作的异同就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程小技巧。
总结以上是内存溢出为你收集整理的详谈Python2.6和Python3.0中对除法 *** 作的异同全部内容,希望文章能够帮你解决详谈Python2.6和Python3.0中对除法 *** 作的异同所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)