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

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

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

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

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

復(fù)制代碼 代碼如下:

#!/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沒(méi)有提供任何內(nèi)部機(jī)制來(lái)跟跟蹤一個(gè)類有多少個(gè)實(shí)例被創(chuàng)建了,或者記錄這些實(shí)例是什么東西。如果需要這些功能,可以顯式加入一些代碼到類定義或者_(dá)_init__()和__del__()中去。最好的方式是使用一個(gè)靜態(tài)成員來(lái)記錄實(shí)例的個(gè)數(shù)??勘4嫠鼈兊囊脕?lái)跟蹤實(shí)例對(duì)象是很危險(xiǎn)的,因?yàn)槟惚仨毢侠砉芾磉@些引用,不然你的引用可能沒(méi)辦法釋放(因?yàn)檫€有其他的引用)!看下面的例子:

復(fù)制代碼 代碼如下:

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

所有輸出:

復(fù)制代碼 代碼如下:

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

相關(guān)文章

  • Python----數(shù)據(jù)預(yù)處理代碼實(shí)例

    Python----數(shù)據(jù)預(yù)處理代碼實(shí)例

    這篇文章主要介紹了Python數(shù)據(jù)預(yù)處理,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • Pycharm更換安裝源與添加第三方庫(kù)方法詳解

    Pycharm更換安裝源與添加第三方庫(kù)方法詳解

    在使用Pycharm的時(shí)候不免要下載許多的第三方庫(kù),特別是移植過(guò)來(lái)的項(xiàng)目更是一個(gè)文件的依賴包需要下載而Pycharm默認(rèn)的官方源下載比較慢,所以下面這篇文章主要給大家介紹了關(guān)于Pycharm更換安裝源與添加第三方庫(kù)的相關(guān)資料,需要的朋友可以參考下
    2023-02-02
  • Python搭建Gitee圖床的示例代碼

    Python搭建Gitee圖床的示例代碼

    在寫(xiě)博客的過(guò)程中經(jīng)常要插入圖片,本文將使用Python實(shí)現(xiàn)對(duì)上傳的圖片自動(dòng)壓縮,自動(dòng)編碼,以及自動(dòng)推送到遠(yuǎn)程倉(cāng)庫(kù),感興趣的可以了解一下
    2021-10-10
  • 淺談Pytorch torch.optim優(yōu)化器個(gè)性化的使用

    淺談Pytorch torch.optim優(yōu)化器個(gè)性化的使用

    今天小編就為大家分享一篇淺談Pytorch torch.optim優(yōu)化器個(gè)性化的使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-02-02
  • python列表的特點(diǎn)分析

    python列表的特點(diǎn)分析

    在本篇文章里小編個(gè)大家整理的是一篇關(guān)于python列表的特點(diǎn)分析內(nèi)容總結(jié),有需要的朋友們可以學(xué)習(xí)下。
    2021-08-08
  • 使用keras實(shí)現(xiàn)BiLSTM+CNN+CRF文字標(biāo)記NER

    使用keras實(shí)現(xiàn)BiLSTM+CNN+CRF文字標(biāo)記NER

    這篇文章主要介紹了使用keras實(shí)現(xiàn)BiLSTM+CNN+CRF文字標(biāo)記NER,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-06-06
  • Python?arrow?更好的日期時(shí)間模塊

    Python?arrow?更好的日期時(shí)間模塊

    這篇文章主要為大家介紹Python的arrow日期時(shí)間模塊,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2021-11-11
  • 關(guān)于pytest結(jié)合csv模塊實(shí)現(xiàn)csv格式的數(shù)據(jù)驅(qū)動(dòng)問(wèn)題

    關(guān)于pytest結(jié)合csv模塊實(shí)現(xiàn)csv格式的數(shù)據(jù)驅(qū)動(dòng)問(wèn)題

    這篇文章主要介紹了pytest結(jié)合csv模塊實(shí)現(xiàn)csv格式的數(shù)據(jù)驅(qū)動(dòng),使用python中的csv模塊來(lái)處理csv文件,結(jié)合pygtest的參數(shù)化處理方式來(lái)實(shí)現(xiàn)ddt,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2022-05-05
  • python中強(qiáng)制關(guān)閉線程與協(xié)程與進(jìn)程方法

    python中強(qiáng)制關(guān)閉線程與協(xié)程與進(jìn)程方法

    python使用中多線程、多進(jìn)程、多協(xié)程使用是比較常見(jiàn)的。那么如果在多線程等的使用,我們這個(gè)時(shí)候我們想從外部強(qiáng)制殺掉該線程請(qǐng)問(wèn)如何操作?這篇文章帶你介紹,感興趣的同學(xué)可以參考閱讀
    2023-03-03
  • Django如何簡(jiǎn)單快速實(shí)現(xiàn)PUT、DELETE方法

    Django如何簡(jiǎn)單快速實(shí)現(xiàn)PUT、DELETE方法

    這篇文章主要介紹了Django如何簡(jiǎn)單快速實(shí)現(xiàn)PUT、DELETE方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07

最新評(píng)論