簡體   English   中英

Python變量內存管理

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM