小議キーワードdelとインスタンスメソッド_del__(self)

823 ワード

詳細
pythonには__に似たものがたくさんありますdel__(self)このような特殊な方法には、例えば_gt__()、__le__()など名前から大まかな機能が推測できますが、そう勝手に推測できないものもあります(もちろん私だけかもしれませんが)、これよりも登場します_del__()とdel、以前はdelが1つのオブジェクトになったとき、_del__()は呼び出されますが、何度も筆記試験に失敗した後、細かいところを審査し始めました^^!
余計なことは言わないで,本題に入りなさい.
delはオブジェクトを削除することを知っていますが、正確には、そのオブジェクトの参照カウントを1つ減らすべきです.ただし、呼び出すたびに、_del__()が呼び出されます.なぜなら_del__()は、オブジェクトの参照カウントが0に下がったときに呼び出されます.例を示します.

>>> class C:
        def __del__(self):
        print("I'm vanishing...")

>>> c = C()
>>> b = c            #   ,   C()      2
>>> del b
>>>                  #  ,       ,  __del__()    
>>> del c
I'm vanishing...     #       0     
>>>

結論が得られる!