更高的小数精度是否每个实例使用更多内存?

时间:2018-03-13 09:14:17

标签: python decimal precision

使用Python的decimal模块,具有更高精度值的上下文是否会使用更多内存。如果没有,你为什么不总是使用最大值?

2 个答案:

答案 0 :(得分:1)

是的,当然规模增加了;您可以通过以下方式查看:

from sys import getsizeof
from decimal import Decimal, getcontext

getcontext().prec = 6
d = Decimal(1)/Decimal(3)
print(getsizeof(d))  # 104
getcontext().prec = 256
d = Decimal(1)/Decimal(3)
print(getsizeof(d))  # 216

ymmv ......确切的值可能是实现/平台特定的。

答案 1 :(得分:0)

short可能非常有用,但通常您不需要无限小数位,货币通常需要2-4。

您想要存储的数字越多,它将使用的内存越多,一般来说,您只想使用所需的最低类型,这是我们过去使用int而不是{{{{}}的原因。在Java中,同样适用于Python,它只是在幕后更多。

这些天你可能因为打字而遇到内存问题的情况很小,但它仍然可能发生。