我有一个整数变量,一旦除以它,它就会转换为浮点数。我需要阻止这一切发生
我尝试在使用 int() 函数声明变量后显式转换该变量,但一旦我除以它,它仍然会转换为浮点数
x = 5
int(x)
x = x/2
type(x)
我期望 x/2 的输出,因为它是一个整数,但输出是 2.5,当我通过 type() 函数运行它时,它返回一个浮点数
Python 中没有类型转换,只有类型转换。
x = 5
int(x)
这对变量
x
没有影响,因为您创建了一个new(由于小整数([-5, 256])在CPython上实习,它将与内存中原始5相同的对象) int
通过执行 int(x)
来对象并扔掉它,因为它没有引用它的名称。原始 x
变量仍然引用整数对象 5
。
除以
5 / 2
,答案是 2.5,它是一个浮点数,如结果所示。
现在,如果您希望结果为
int
,您可以这样做:
楼层划分:
x // 2
(math.floor(x / 2)
也可以)
使用
round
:round(x / 2)
ceil 除法:
math.ceil(x / 2)
(这将得到 3,因此得名 ceiling)