在python中構(gòu)造函數(shù)和析構(gòu)函數(shù)都可以省略,。構(gòu)造函數(shù)__init__是任何類都有的特殊方法。 構(gòu)造函數(shù)在類的構(gòu)造的時(shí)候調(diào)用,,但是不一定會調(diào)用,,這點(diǎn)我會在后面提到原因;析構(gòu)函數(shù)被python的垃圾回收器銷毀的時(shí)候調(diào)用,。 最后實(shí)例化 a,,是因?yàn)槲覀兿胍胮ython的垃圾回收器自動回收我們的之前實(shí)例化的a對象. 1.先調(diào)用構(gòu)造函數(shù)__init__來構(gòu)造一個(gè)新的對象,這個(gè)新的對象的id為32111225,,和我們之前a的id不一樣,。 2.接下來垃圾回收器,發(fā)現(xiàn)已經(jīng)沒有變量來引用它了,,因此就會調(diào)用a之前引用的對象id = 3211123的析構(gòu)函數(shù),,然后從內(nèi)存中徹底銷毀它。 注意是先構(gòu)造新對象,,然后才銷毀舊對象,。 |
|