中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用Python實現計算對象的內存大小

發布時間:2021-04-07 09:50:35 來源:億速云 閱讀:272 作者:小新 欄目:開發技術

這篇文章主要介紹了如何使用Python實現計算對象的內存大小,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

具體如下:

一般的sys.getsizeof()顯示不了復雜的字典。

查看類中的內容:

def dump(obj):
 for attr in dir(obj):#dir顯示類的所有方法
  print(" obj.%s = %r" % (attr, getattr(obj, attr)))

這里用遞歸調用所有對象的getsizeof:

def get_size(obj, seen=None):
 # From https://goshippo.com/blog/measure-real-size-any-python-object/
 # Recursively finds size of objects
 size = sys.getsizeof(obj)
 if seen is None:
  seen = set()
 obj_id = id(obj)
 if obj_id in seen:
  return 0
# Important mark as seen *before* entering recursion to gracefully handle
 # self-referential objects
 seen.add(obj_id)
 if isinstance(obj, dict):
  size += sum([get_size(v, seen) for v in obj.values()])
  size += sum([get_size(k, seen) for k in obj.keys()])
 elif hasattr(obj, '__dict__'):
  size += get_size(obj.__dict__, seen)
 elif hasattr(obj, '__iter__') and not isinstance(obj, (str, bytes, bytearray)):
  size += sum([get_size(i, seen) for i in obj])
 return size

感謝你能夠認真閱讀完這篇文章,希望小編分享的“如何使用Python實現計算對象的內存大小”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

泰安市| 固始县| 海城市| 富裕县| 黑河市| 库尔勒市| 凌源市| 乌恰县| 浏阳市| 大英县| 全椒县| 霍州市| 库尔勒市| 大田县| 鲁甸县| 阜阳市| 延津县| 临桂县| 陇川县| 尉犁县| 新闻| 徐州市| 衡南县| 江西省| 泰宁县| 靖江市| 望奎县| 图木舒克市| 高唐县| 长海县| 会泽县| 婺源县| 二连浩特市| 晋州市| 祥云县| 平湖市| 金川县| 鄂托克前旗| 任丘市| 隆回县| 三穗县|