5.11.2 例

この簡単な例では、アプリケーションが以前に参照したオブジェクトを取り出すためにオブジェクトIDを利用する方法を示します。オブジェクトに生きたままであることを強制することなく、オブジェクトのIDは他のデータ構造の中で使えます。しかし、そうする場合は、オブジェクトはまだIDによって取り出せます。

import weakref

_id2obj_dict = weakref.WeakValueDictionary()

def remember(obj):
    oid = id(obj)
    _id2obj_dict[oid] = obj
    return oid

def id2obj(oid):
    return _id2obj_dict[oid]

ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。