日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python__基础 : 类的__init__,__str__,__del__方法

發布時間:2025/3/20 python 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python__基础 : 类的__init__,__str__,__del__方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

__init__:當實例化一個類的時候,首相會執行__new__方法創建一個對象,接下來會執行__init__方法對對象的一些屬性進行初始化.

所以如果對象有屬性,一般會直接寫在__init__方法里面:

class Test:def __init__(self, a, b):self.a = aself.b = btest = Test(a, b)

__str__:當實例化一個類之后,就有了一個對象的引用,如 test = Test() 這個時候如果直接print(test),輸出的是這個對象所屬于的類以及在內存中存儲的位置,如果想輸出別的信息,可以重定義__str__方法:

class Test:def __str__(self):return '這是一個測試類'test = Test()print(test)>>>這是一個測試類

__del__:在一個對象的引用計數成為0后,會自動調用__del__方法來進行一些......善后操作.....

如創建一個對象 test = Test(),這個時候test變量所指向的對象的引用計數為1,

如果手動用del 刪除test這個變量,或者程序運行結束系統自動刪除它以釋放內存空間,

那么對象的引用計數會變為0,同時在刪除前調用__del__方法.

class Test:def __del__(self):print('已經調用__del__方法...')test = Test()del testprint('--------程序結束--------')>>>已經調用__del__方法...--------程序結束--------

需要注意的是,如果引用計數不為0,也就是如果還有變量指向這個對象,更進一步如果這個對象所在的內存沒有被回收,那么是不會調用__del方法的.

如:接上面代碼,若實例化一個對象: test = Test(), 下一步 test2 = test,這個時候對象的引用計數就變成了2,如果單單刪除test: del test ,是不會調用__del__方法的,

必須要把 test2 也刪除 : del test2 , 這個時候才會調用__del__方法.

轉載于:https://www.cnblogs.com/cccy0/p/9038672.html

總結

以上是生活随笔為你收集整理的python__基础 : 类的__init__,__str__,__del__方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。