Python整数除法产生浮点数

Python整数除法产生浮点数

Python 3.1 (r31:73574, Jun 26 2009, 20:21:35) [MSC v.1500 32 bit (Intel)] on win32Type "help", "copyright", "credits" or
 "license" for more information.>>> 2/21.0

这是故意的吗?我强烈记得以前的版本返回int/int=int?我应该怎么做,是否有一个新的除法操作符,还是我必须总是投?


跃然一笑
浏览 1438回答 2
2回答

杨__羊羊

看一看佩普-238*改变司运营者/操作员可以明确地请求楼层划分。

SMILET

希望它能立刻对某人有所帮助。Python2.7和Python3中除法操作符的行为在Python2.7中:默认情况下,除法操作符将返回整数输出。以双倍的速度获得结果多重1.0改为“股息或除数”100/35 => 2 #(Expected is 2.857142857142857)(100*1.0)/35 => 2.857142857142857100/(35*1.0) => 2.857142857142857在Python 3中// => used for integer output/ => used for double output100/35 => 2.857142857142857100//35 => 2100.//35 => 2.0     # floating-point result if divsor or dividend real

慕码人8056858

Python映射操作符,如+, -, *和/对于特殊的功能,例如:a + b等于a.__add__(b)对于Python 2中的除法,默认情况下只有/哪个映射到__div__结果取决于输入类型。int, float).Python 2.2引入了__future__特征division,它以下列方式改变了划分语义(TL;PEP 238的DR):/映射到__truediv__它必须“返回除法的数学结果的合理近似”(引用PEP 238)。//映射到__floordiv__,这应该会返回.的泛泛结果。/在Python3.0中,PEP 238的更改成为默认行为,没有更特殊的方法__div__在Python的对象模型中。如果您想在Python 2和Python 3中使用相同的代码,请使用from __future__ import division的PEP 238语义/和//.
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python