初めての質問です。以前に質問されていたら申し訳ありません。検索しましたが、答えと思われるものは見つかりませんでした。
__del__
ラップされたCコードでクリーンアップを実行する必要があるため、pythonのメソッドの動作を理解しようとしています。
私の理解で__del__
は、オブジェクト参照で呼び出されたときdel
ではなく、オブジェクトの参照カウントがゼロになったときに呼び出されます。これにより、代入なしでオブジェクトをインスタンス化するとすぐに__init__
thenが呼び出されると思い__del__
ましたが、次のコードが示すように、そうではないようです。
class Foo():
def __init__(self):
print "Hello"
def __del__(self):
print "Goodbye"
Foo()
Hello
<__main__.Foo instance at 0x7fb943075a28>
ここで何が起こっているのか誰か説明できますか? 前もって感謝します。