激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python構造函數(shù)及解構函數(shù)介紹

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

2019-11-17 16:48junjie Python

這篇文章主要介紹了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ù)。靠保存它們的引用來跟蹤實例對象是很危險的,因為你必須合理管理這些引用,不然你的引用可能沒辦法釋放(因為還有其他的引用)!看下面的例子:

 

復制代碼代碼如下:

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
 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 狠狠干夜夜草 | xxxxhd73国产| 一区二区三区欧美在线 | 成人午夜高清 | 亚洲四播房 | 成人毛片在线免费观看 | av在线看网站 | 国产成人精品免费视频大全办公室 | 久久羞羞视频 | 国产又粗又爽又深的免费视频 | ,欧美特黄特色三级视频在线观看 | 国产精品久久久久久久久久 | 综合精品一区 | 黄色免费大片 | 精品一区二区三区日本 | 国产亚洲精品成人 | 久在线草| 久久综合精品视频 | 久久久久久久一区二区 | 在线播放免费播放av片 | 草草视频免费观看 | 激情亚洲一区二区 | 欧美一区公司 | 久久久久久久久久网 | 亚洲视频综合网 | av懂色| 中文字幕网在线 | 色婷婷tv| 九九综合九九 | 在线免费亚洲 | 中文字幕天堂在线 | 日韩毛片一区二区三区 | 黄色网欧美| 国产亚洲精彩视频 | 欧美视频首页 | 久久久资源网 | 欧美黑人xx| 国产精品国产三级国产aⅴ无密码 | 日产精品一区二区三区在线观看 | 国产精品久久久久久久av | chinesexxxx刘婷hd 国产91在线播放九色 |