使用Python的decimal模块,具有更高精度值的上下文是否会使用更多内存。如果没有,你为什么不总是使用最大值?
答案 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,它只是在幕后更多。
这些天你可能因为打字而遇到内存问题的情况很小,但它仍然可能发生。