2009-04-03 7 views
1

WeakValueDictionaryの制限を回避して、dictやlistなどの組み込み型への弱い参照を保持する方法はありますか?拡張モジュールのCレベルで何かを行うことはできますか?私は本当に(ほとんど)任意のタイプのオブジェクトを保持できるweakrefコンテナが必要です。任意の型を保持するWeakValueDictionary

答えて

1

Python documentationあなたはdictlistのサブクラスへの弱参照を作成することができます...、それは完璧なソリューションではありませんが、あなたはdictのカスタムサブクラスを作成して、代わりにネイティブdictのものを使用することができるしている場合によります十分に良いはずです。 (私は決して実際にこれを自分でやったことはありません)

+0

問題は、このコンテナに格納されるオブジェクトが他の人のコードから来ることであり、コンテナはより大きなクラスセットの「実装の詳細」ですむしろ、「弱参照可能でなければならない」種類の要件を避けたいと思う。 –

+0

ああ...まあ、まったく一般的なWeakValueDictionaryを作成して何かを保持できる方法はわかりません。しかし、特殊なケースではさまざまなトリックを使用できますが、弱い参照が必要なオブジェクトの種類を指定するために質問を編集すると、役立つ可能性があります。 –

関連する問題