0
我不是在尋找一個恆定的記錄最大值可用int
代表;我正在尋找一個int
可以佔用的最大內存量。請看下面的代碼:我們如何獲得python int佔用的字節數?
import sys
def print_and_execute(*args):
for s in args:
print(s, end = " == ")
r = eval(s)
print(r)
return
print_and_execute("type(5) ")
print_and_execute("sys.getsizeof(5)")
i = int()
print_and_execute("i")
print_and_execute("sys.getsizeof(i)")
i = 2937
print_and_execute("i")
print_and_execute("sys.getsizeof(i)")
print_and_execute("sys.maxsize")
print_and_execute("sys.getsizeof(sys.maxsize)")
對於我特定的機器,輸出結果是:
type(5) == <class 'int'>
sys.getsizeof(5) == 28
i == 0
sys.getsizeof(i) == 24
i == 2937
sys.getsizeof(i) == 28
sys.maxsize == 9223372036854775807
sys.getsizeof(sys.maxsize) == 36
顯然,一些int
s爲24個字節長,其他都是28,還有一些人用36多少字節需要持有任何尺寸的int
?
Python整數可以擴展到必要的大小。換句話說,上限取決於有多少內存可用。 –
「一些整數是24個字節長」 - 除0之外哪一個? –