インスタンスの有効期間
インスタンスがメモリ上に存在する期間のことをライフタイム/有効期間という。インスタンス化された時にライフタイムが始まり、どの変数からも参照されなくなった(割り当てがなくなった)時点でライフタイムが終了する。ライフタイムが終了するとそのインスタンスは適当なタイミングでメモリ上から削除される。
>>> x = 1 # (1)
>>> x = 2 # (2)
(1)で生成したインスタンス「1」のオブジェクトIDを(2)で上書きすることにより、インスタンス「1」のライフタイムが終了する。
https://scrapbox.io/files/651b594b3577dc001b4d3f13.png
 図:インスタンス「1」への変数xからの割り当てが無くなったイメージ
>>> x = 1
>>> del(x)
変数xがdel文により削除されることで、インスタンス「1」のライフタイムが終了する。
~~~~~~~~~~~~~~~~
インスタンスには複数の変数を割り当てることができる。この場合、割り当てた変数の数が0個になった時点でライフタイムが終了する。次のように2つの変数を割り当てたインスタンス「1」は、(4)の時点で削除される。
>>> x = 1 # (1)
>>> y = x # (2)
>>> x = 2 # (3)
>>> y = 3 # (4)
補足
プログラム上に何らかの値が記述されていると、その箇所が実行された時にインスタンスが生成される。しかしながら、何らかの変数を割り当てておかなければ、後の処理で利用することができない。
>>> 7
>>> 'moji'
/icons/hr.icon
※ ブラウザのバックボタンで戻る