欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python實(shí)現(xiàn)計(jì)算對(duì)象的內(nèi)存大小示例

 更新時(shí)間:2019年07月10日 10:31:18   作者:黑加侖王子  
這篇文章主要介紹了Python實(shí)現(xiàn)計(jì)算對(duì)象的內(nèi)存大小,結(jié)合實(shí)例形式分析了Python使用sys.getsizeof與遞歸算法計(jì)算對(duì)象占用內(nèi)存的相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了Python實(shí)現(xiàn)計(jì)算對(duì)象的內(nèi)存大小。分享給大家供大家參考,具體如下:

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

查看類中的內(nèi)容:

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

這里用遞歸調(diào)用所有對(duì)象的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

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python進(jìn)程與線程操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總

希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • python實(shí)現(xiàn)名片管理系統(tǒng)項(xiàng)目

    python實(shí)現(xiàn)名片管理系統(tǒng)項(xiàng)目

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)名片管理系統(tǒng)項(xiàng)目,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • Python探索之Metaclass初步了解

    Python探索之Metaclass初步了解

    本文先簡(jiǎn)單介紹了Python中的類,然后是主要內(nèi)容,涉及Metaclass的相關(guān)內(nèi)容,還是不錯(cuò)的,這里分享給大家,供需要的朋友參考。
    2017-10-10
  • python實(shí)現(xiàn)自動(dòng)發(fā)送報(bào)警監(jiān)控郵件

    python實(shí)現(xiàn)自動(dòng)發(fā)送報(bào)警監(jiān)控郵件

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)自動(dòng)發(fā)送報(bào)警監(jiān)控郵件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • Python Shiny庫(kù)創(chuàng)建交互式Web應(yīng)用及高級(jí)功能案例

    Python Shiny庫(kù)創(chuàng)建交互式Web應(yīng)用及高級(jí)功能案例

    Shiny是一個(gè)基于Python的交互式Web應(yīng)用框架,專注于簡(jiǎn)化Web應(yīng)用的開(kāi)發(fā)流程,本文將深入探討Shiny庫(kù)的基本用法、高級(jí)功能以及實(shí)際應(yīng)用案例,以幫助開(kāi)發(fā)者充分發(fā)揮Shiny在Web應(yīng)用開(kāi)發(fā)中的優(yōu)勢(shì)
    2023-12-12
  • Python中使用PyMySQL模塊的方法詳解

    Python中使用PyMySQL模塊的方法詳解

    Python中的pymysql模塊是用于連接MySQL數(shù)據(jù)庫(kù)的一個(gè)第三方庫(kù),它提供了一套API,使得Python程序員能夠方便地執(zhí)行SQL語(yǔ)句、操作數(shù)據(jù)庫(kù),下面這篇文章主要給大家介紹了關(guān)于Python中使用PyMySQL模塊的相關(guān)資料,需要的朋友可以參考下
    2024-08-08
  • python編程使用PyQt創(chuàng)建UE藍(lán)圖

    python編程使用PyQt創(chuàng)建UE藍(lán)圖

    這篇文章主要為大家介紹了python編程中如何使用PyQt創(chuàng)建UE藍(lán)圖的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2021-10-10
  • selenium?UI自動(dòng)化實(shí)戰(zhàn)過(guò)程記錄

    selenium?UI自動(dòng)化實(shí)戰(zhàn)過(guò)程記錄

    如果大家有做過(guò)web的自動(dòng)化測(cè)試,相信對(duì)于selenium一定不陌生,測(cè)試人員經(jīng)常使用它來(lái)進(jìn)行自動(dòng)化測(cè)試,下面這篇文章主要給大家介紹了關(guān)于selenium?UI自動(dòng)化實(shí)戰(zhàn)的相關(guān)資料,需要的朋友可以參考下
    2021-12-12
  • Python使用mmap實(shí)現(xiàn)內(nèi)存映射文件操作

    Python使用mmap實(shí)現(xiàn)內(nèi)存映射文件操作

    內(nèi)存映射通??梢蕴岣逫/O的性能,本文主要介紹了Python使用mmap實(shí)現(xiàn)內(nèi)存映射文件操作,分享給大家,感興趣的可以了解一下
    2021-06-06
  • python實(shí)現(xiàn)屏保程序(適用于背單詞)

    python實(shí)現(xiàn)屏保程序(適用于背單詞)

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)屏保程序,適用于背單詞,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • 如何用Python寫一個(gè)簡(jiǎn)單的通訊錄

    如何用Python寫一個(gè)簡(jiǎn)單的通訊錄

    這篇文章主要介紹了如何用Python寫一個(gè)簡(jiǎn)單的通訊錄,對(duì)著幾串代碼感興趣的朋友一起來(lái)看看吧
    2021-08-08

最新評(píng)論