python 3ステップの_del__()方法(五)

3689 ワード

del()メソッド
オブジェクトの作成後、pythonインタプリタはデフォルトで__を呼び出します.init__()メソッド
オブジェクトを削除すると、python解釈器はデフォルトでメソッドを呼び出します.このメソッドは__です.del__()メソッド
import time
class Animal(object):

    #      
    #             
    def __init__(self, name):
        print('__init__     ')
        self.__name = name


    #     
    #        ,      
    def __del__(self):
        print("__del__     ")
        print("%s        ..."%self.__name)

#     
dog = Animal("   ")

#     
del dog

cat = Animal("   ")
cat2 = cat
cat3 = cat

print("---     cat  ")
del cat
print("---     cat2  ")
del cat2
print("---     cat3  ")
del cat3

print("  2     ")
time.sleep(2)

まとめ:
  • オブジェクトの参照を1つの変数で保存すると、そのオブジェクトの参照カウントに1
  • が加算されます.
  • delを使用して変数が指すオブジェクトを削除する場合、オブジェクトの参照カウントが1、例えば3でない場合、この参照カウントは1だけ減算されます.すなわち2になります.delを再度呼び出すと1になります.delをもう一度呼び出すと、本当に
  • になります.
    補足:内部には参照カウントが維持されているはずです.