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

Python構造函數(shù)及解構函數(shù)介紹

 更新時間:2015年02月26日 11:17:54   投稿:junjie  
這篇文章主要介紹了Python構造函數(shù)及解構函數(shù)介紹,本文只是講解構造及解構函數(shù)的簡單知識,需要的朋友可以參考下

python 有一個相應的特殊解構器(destructor)方法名為__del__()。然而,由于python具有垃圾對象回收機制(靠引用計數(shù)),這個函數(shù)要直到該實例對象所有的引用都被清除掉后才會被執(zhí)行。python中的解構器是在實例釋放前提供特殊處理功能方法,它們通常沒有被實現(xiàn),因為實例很少被顯式釋放。

在下面的例子中,我們分別創(chuàng)建(并覆蓋) __init__()和__del__()構造器及解構函數(shù),然后,初始化類并給同樣的對象很多別名。id()內(nèi)建函數(shù)可用來確定引用同一對象的三個別名。最后一步是使用del語句清除所有的別名,顯示何時調(diào)用了多少次解構器。

復制代碼 代碼如下:

#!/usr/bin/env python
#coding=utf-8
 
class P():
    def __del__(self):
        pass
 
class C(P):
    def __init__(self):
        print 'initialized'
    def __del__(self):
        P.__del__(self)
        print 'deleted'
 
 
c1 = C()
c2 = c1
c3 = c1
 
print id(c1), id(c2), id(c3)
 
del c1
del c2
del c3

python沒有提供任何內(nèi)部機制來跟跟蹤一個類有多少個實例被創(chuàng)建了,或者記錄這些實例是什么東西。如果需要這些功能,可以顯式加入一些代碼到類定義或者__init__()和__del__()中去。最好的方式是使用一個靜態(tài)成員來記錄實例的個數(shù)??勘4嫠鼈兊囊脕砀檶嵗龑ο笫呛芪kU的,因為你必須合理管理這些引用,不然你的引用可能沒辦法釋放(因為還有其他的引用)!看下面的例子:

復制代碼 代碼如下:

class InstCt(object):
    count = 0
    def __init__(self):
        InstCt.count += 1
    def __del__(self):
        InstCt.count -= 1
    def howMany(self):
        return InstCt.count
 
a = InstCt()
b = InstCt()
print b.howMany()
print a.howMany()
del b
print a.howMany()
del a
print InstCt.count

所有輸出:

復制代碼 代碼如下:

initialized
4372150104 4372150104 4372150104
deleted
********************
2
2
1
0

相關文章

  • Django CBV類的用法詳解

    Django CBV類的用法詳解

    這篇文章主要介紹了Django CBV類的用法詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-07-07
  • python編寫扎金花小程序的實例代碼

    python編寫扎金花小程序的實例代碼

    這篇文章主要介紹了python編寫扎金花小程序的實例代碼,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-02-02
  • Python中l(wèi)ambda表達式的用法示例小結

    Python中l(wèi)ambda表達式的用法示例小結

    本文主要展示了一些lambda表達式的使用示例,通過這些示例,我們可以了解到lambda表達式的常用語法以及使用的場景,感興趣的朋友跟隨小編一起看看吧
    2024-04-04
  • 使用python進行時間序列預測的流程

    使用python進行時間序列預測的流程

    使用 Python 進行時間序列預測是一個非常常見的任務,可以應用于各種領域,時間序列預測的方法有很多,包括統(tǒng)計方法、機器學習方法、以及深度學習方法,下面是一個簡單的時間序列預測流程示例,需要的朋友可以參考下
    2024-09-09
  • 探索Python int()函數(shù)傳入中文或者字符串會發(fā)生什么

    探索Python int()函數(shù)傳入中文或者字符串會發(fā)生什么

    這篇文章主要為大家介紹了Python int()函數(shù)傳入中文或者字符串會發(fā)生什么,詳細討論int()函數(shù)的常規(guī)使用以及它如何處理異常輸入,特別是涉及字符串和中文字符的情況
    2024-01-01
  • 淺談numpy中l(wèi)inspace的用法 (等差數(shù)列創(chuàng)建函數(shù))

    淺談numpy中l(wèi)inspace的用法 (等差數(shù)列創(chuàng)建函數(shù))

    下面小編就為大家?guī)硪黄獪\談numpy中l(wèi)inspace的用法 (等差數(shù)列創(chuàng)建函數(shù))。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • python中sys模塊是做什么用的

    python中sys模塊是做什么用的

    在本篇文章里小編給大家分享了一篇關于python中sys模塊的用法及相關基礎知識點,有興趣的朋友們可以參考下。
    2020-08-08
  • python正則表達式(re模塊)的使用詳解

    python正則表達式(re模塊)的使用詳解

    正則表達式是用來匹配字符串非常強大的工具,在其他編程語言中同樣有正則表達式的概念,Python同樣不例外,下面這篇文章主要給大家介紹了關于python正則表達式(re模塊)使用的相關資料,需要的朋友可以參考下
    2022-03-03
  • 十個驚艷的Pythonic單行代碼

    十個驚艷的Pythonic單行代碼

    自從用?Python?編寫第一行代碼以來,我就被它的簡單性、出色的可讀性和流行的單行代碼所吸引。在本文中,將為大家介紹和解釋其中的一些單行代碼,希望對大家有所幫助
    2022-12-12
  • Matplotlib可視化之添加讓統(tǒng)計圖變得簡單易懂的注釋

    Matplotlib可視化之添加讓統(tǒng)計圖變得簡單易懂的注釋

    今天給大家?guī)淼奈恼率顷P于Python的,文章圍繞著Python Matplotlib可視化展開,文中非常詳細的介紹了如何給統(tǒng)計圖添加注釋,需要的朋友可以參考下
    2021-06-06

最新評論

寿光市| 晋宁县| 固安县| 基隆市| 神农架林区| 怀远县| 张家口市| 嘉峪关市| 缙云县| 剑阁县| 晴隆县| 阿城市| 明光市| 德江县| 达日县| 手游| 姜堰市| 高密市| 长海县| 四平市| 舒城县| 沭阳县| 碌曲县| 新建县| 佳木斯市| 武夷山市| 沧源| 阿合奇县| 盐池县| 工布江达县| 任丘市| 枣强县| 都昌县| 镇康县| 全州县| 奉新县| 根河市| 鲁甸县| 永丰县| 南涧| 砀山县|