[英]Python variable memory management
我只是寫了這個原始腳本:
from sys import getsizeof as g
x = 0
s = ''
while s != 'q':
x = (x << 8) + 0xff
print(str(x) + " [" + str(g(x)) + "]")
s = input("Enter to proceed, 'q' to quit ")
輸出如下-令我驚訝的是:
255 [28]
65535 [28]
16777215 [28]
4294967295 [32]
1099511627775 [32]
281474976710655 [32]
72057594037927935 [32]
18446744073709551615 [36]
等等。 我的觀點是:似乎變量x具有某種“開銷”,大小為25個字節。 這是從哪里來的? 在此先感謝您為我提供的任何幫助。
python int
是一個對象,因此開銷很小也就不足為奇了。 如果這種開銷對您開始變得有意義,那么這意味着您正在處理大量的int集合,這向我表明numpy庫可能是您應該考慮的東西。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.