1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關咨詢
      選擇下列產品馬上在線溝通
      服務時間:8:30-17:00
      你可能遇到了下面的問題
      關閉右側工具欄

      新聞中心

      這里有您想知道的互聯(lián)網營銷解決方案
      Python內存分配-創(chuàng)新互聯(lián)

      python中對象內存分配的秘密:
      http://note.youdao.com/noteshare?id=4f2a12ca09e6ec21d3ea03d05e2744e9

      創(chuàng)新互聯(lián)主營朝陽縣網站建設的網絡公司,主營網站建設方案,app軟件定制開發(fā),朝陽縣h5小程序開發(fā)搭建,朝陽縣網站營銷推廣歡迎朝陽縣等地區(qū)企業(yè)咨詢
      
      sys模塊是Python比較基礎且十分重要的模塊
      功能: 提供程解釋器使用(或者由他維護)的變量,以及和解釋器交互的函數(shù)
      
      sys模塊中的getsizeof()函數(shù)用戶獲取對象所占直接內存字節(jié)大小(byte),不計算對象內部引用對象占用內存大小
      1.首先我們驗證一下上面這句話;
      
      In [2]: import sys                                                                                                                                                        
      In [3]: a = [1,2]                                                                                                                                                         
      In [4]: b = [a,a]                                                                                                                                                         
      In [5]: sys.getsizeof(a)                                                                                                                                                  
      Out[5]: 80
      In [6]: sys.getsizeof(b)                                                                                                                                                  
      Out[6]: 80
      In [7]: a                                                                                                                                                                 
      Out[7]: [1, 2]
      In [8]: b                                                                                                                                                                 
      Out[8]: [[1, 2], [1, 2]]
      可以看到上面數(shù)組,a,b兩個列表內部只有兩個元素,雖然b列表引用了列表a,但是它所占字節(jié)大小a一樣,這樣就說明了getsizeof()方法是計算當前對象直接所占內存字節(jié)大小,不會計算其內部引用.
      
      2,python中空對象所占內存字節(jié)
      
      In [4]: sys.getsizeof('')   # 空字符                                                                                                                                                
      Out[4]: 49
      In [5]: sys.getsizeof([])   # 空列表                                                                                                                                              
      Out[5]: 64
      In [6]: sys.getsizeof({})   # 空字典                                                                                                                                              
      Out[6]: 240
      In [7]: sys.getsizeof(())   # 空元組                                                                                                                                             
      Out[7]: 48
      In [8]: sys.getsizeof(set())# 空集合                                                                                                                                            
      Out[8]: 224
      
      占用內存字節(jié)對象排序: 基礎數(shù)字 < 空元祖 < 空字符串 < 空列表 < 空集合 < 空字典
      為什么空對象也會占用內存?
      解釋: 我們可以理解為上述對象都是容器,python在創(chuàng)建的時候分配一部份內存用于對象本身信息的記錄,比如(容器結構,引用計數(shù),使用信息等),另一部分用于預分配內存
      
      3.Boolen值占用內存字節(jié)數(shù)
      
      In [15]: sys.getsizeof(0)                                                                                                                                                 
      Out[15]: 24
      In [16]: sys.getsizeof(False)                                                                                                                                             
      Out[16]: 24
      In [17]: sys.getsizeof(1)                                                                                                                                                 
      Out[17]: 28
      In [18]: sys.getsizeof(True)                                                                                                                                              
      Out[18]: 28
      通過上面樣例我們可以看到,布爾值對象的內存所占字節(jié)大小和數(shù)字0,1是一樣的,應為在Boolen中True和1,False和0,代表的含義是一樣的,只是表現(xiàn)形式不一樣
      
      4.python的內存分配機制:
      (1).超額分配機制:對象在申請內存時候,會多分配一部份內存,當有新的元素加入到對象中,就不會再去請求內存分配,直接使用之前超額分配的內存,這樣的話就保證了對象總是會有多余的內存容納新加入的元素,而不用在加入對象時候再去申請內存操作,提高對象的內存分配性能.
      (2).非均勻分配機制; 在分配內存的時候每次分配的內存大小是不一樣的,保證了不同元素加入時候,對象中超額的內存總是能夠容納新的元素,不用再加入的時候去申請內存.

      另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。


      文章標題:Python內存分配-創(chuàng)新互聯(lián)
      分享路徑:http://www.ef60e0e.cn/article/cdojsd.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        青川县| 大兴区| 山丹县| 南皮县| 绩溪县| 富源县| 静宁县| 桂林市| 南华县| 兴仁县| 浑源县| 偏关县| 英吉沙县| 怀安县| 禄劝| 申扎县| 九龙坡区| 广水市| 静乐县| 长岛县| 新化县| 兖州市| 浠水县| 长乐市| 合肥市| 乐亭县| 积石山| 永昌县| 大理市| 睢宁县| 贵定县| 阳曲县| 兴海县| 哈密市| 勃利县| 东台市| 达尔| 垣曲县| 浙江省| 台安县| 平湖市|