最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python引用計數(shù)操作示例

 更新時間:2018年08月23日 11:36:46   作者:hellBaron  
這篇文章主要介紹了Python引用計數(shù)操作,結合實例形式分析了Python引用計數(shù)相關操作與運行機制,需要的朋友可以參考下

本文實例講述了Python引用計數(shù)操作。分享給大家供大家參考,具體如下:

為了簡化內(nèi)存管理,Python通過引用計數(shù)機制實現(xiàn)了自動的垃圾回收功能,Python中的每個對象都有一個引用計數(shù),用來計數(shù)該對象在不同場所分別被引用了多少次。每當引用一次Python對象,相應的引用計數(shù)就增1,每當消毀一次Python對象,則相應的引用就減1,只有當引用計數(shù)為零時,才真正從內(nèi)存中刪除Python對象。

import ctypes
def get_ref(obj):
  """ returns a c_size_t, which is the refcount of obj """
  return ctypes.c_size_t.from_address(id(obj))
l = [1,2,3,4]
l2 =l
l_ref = get_ref(l)
print l_ref
del l
print l_ref
del l2
print l_ref
another_list = [0, 0, 7]
a_ref = get_ref(another_list)
print a_ref

輸出:

c_ulong(2L)
c_ulong(1L)
c_ulong(0L)
c_ulong(1L)

運行結果如下圖所示:

另外python編譯成字節(jié)碼的模塊為 dis

import dis # bytecode disassembler module
def time_2(x):
  return 2 * x
dis.dis(time_2)
print "*"*20
dis.dis(get_ref)

結合上述代碼,測試示例如下:

import ctypes
import dis # bytecode disassembler module
def get_ref(obj):
  """ returns a c_size_t, which is the refcount of obj """
  return ctypes.c_size_t.from_address(id(obj))
def time_2(x):
  return 2 * x
dis.dis(time_2)
print "*"*20
dis.dis(get_ref)

運行結果:

  7           0 LOAD_CONST               1 (2)
              3 LOAD_FAST                0 (x)
              6 BINARY_MULTIPLY    
              7 RETURN_VALUE       
********************
  5           0 LOAD_GLOBAL              0 (ctypes)
              3 LOAD_ATTR                1 (c_size_t)
              6 LOAD_ATTR                2 (from_address)
              9 LOAD_GLOBAL              3 (id)
             12 LOAD_FAST                0 (obj)
             15 CALL_FUNCTION            1
             18 CALL_FUNCTION            1
             21 RETURN_VALUE       

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

希望本文所述對大家Python程序設計有所幫助。

相關文章

  • Python圖像處理之圖像金字塔的向上和向下取樣

    Python圖像處理之圖像金字塔的向上和向下取樣

    圖像金字塔是指由一組圖像且不同分別率的子圖集合,它是圖像多尺度表達的一種,以多分辨率來解釋圖像的結構,主要用于圖像的分割或壓縮。本文主要介紹了圖像金字塔的圖像向下取樣和向上取樣,感興趣的可以了解一下
    2022-09-09
  • 如何利用Tensorflow2進行貓狗分類識別

    如何利用Tensorflow2進行貓狗分類識別

    圖像分類是根據(jù)圖像的語義信息將不同類別圖像區(qū)分開來,是計算機視覺中重要的基本問題,下面這篇文章主要給大家介紹了關于如何利用Tensorflow2進行貓狗分類識別的相關資料,需要的朋友可以參考下
    2022-06-06
  • tensorflow 模型權重導出實例

    tensorflow 模型權重導出實例

    今天小編就為大家分享一篇tensorflow 模型權重導出實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • 淺談python新式類和舊式類區(qū)別

    淺談python新式類和舊式類區(qū)別

    python的新式類是2.2版本引進來的,我們可以將之前的類叫做經(jīng)典類或者舊式類。這篇文章主要介紹了淺談python新式類和舊式類區(qū)別,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • pandas分區(qū)間,算頻率的實例

    pandas分區(qū)間,算頻率的實例

    今天小編就為大家分享一篇pandas分區(qū)間,算頻率的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • 如何分離django中的媒體、靜態(tài)文件和網(wǎng)頁

    如何分離django中的媒體、靜態(tài)文件和網(wǎng)頁

    這篇文章主要介紹了如何分離django中的媒體、靜態(tài)文件和網(wǎng)頁,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-11-11
  • pytest下的pytest.ini文件的配置項

    pytest下的pytest.ini文件的配置項

    這篇文章主要給大家介紹了pytest下的pytest.ini文件的配置項的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧,
    2017-10-10
  • 通過python封裝SQLite3的示例代碼

    通過python封裝SQLite3的示例代碼

    這篇文章主要介紹了使用 Python 封裝 SQLite3 的相關內(nèi)容,包括創(chuàng)建數(shù)據(jù)庫實例、創(chuàng)建表、各種插入(單個、批量、字典等)、刪除(按條件、按 ID 等)、修改(多種方式)、查詢(單條、多條、分頁等)的示例及對應的實現(xiàn)代碼,需要的朋友可以參考下
    2024-11-11
  • 關于使用OpenCsv導入大數(shù)據(jù)量報錯的問題

    關于使用OpenCsv導入大數(shù)據(jù)量報錯的問題

    這篇文章主要介紹了使用OpenCsv導入大數(shù)據(jù)量報錯的問題 ,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-08-08
  • pandas如何讀取mysql數(shù)據(jù)

    pandas如何讀取mysql數(shù)據(jù)

    這篇文章主要介紹了pandas如何讀取mysql數(shù)據(jù)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12

最新評論

海丰县| 隆林| 定远县| 泰顺县| 东台市| 普安县| 洪洞县| 增城市| 宜君县| 静安区| 齐齐哈尔市| 伊通| 新绛县| 马龙县| 沙雅县| 霍州市| 德惠市| 太仆寺旗| 宁化县| 广丰县| 清远市| 瑞金市| 资溪县| 滨海县| 保亭| 安化县| 大安市| 万安县| 彰化县| 左贡县| 十堰市| 平谷区| 遵义县| 淮安市| 米林县| 延津县| 西城区| 永平县| 甘南县| 呈贡县| 长白|