私は(とりわけ)辞書を引数として取るメソッドを持っています。このメソッドは文字列を解析し、辞書は一部の部分文字列の代わりを提供するため、変更可能である必要はありません。
この関数は頻繁に呼び出され、冗長な要素で呼び出されるため、キャッシュすると効率が向上すると思いました。
しかし、dict
ご想像のとおり、は変更可能でハッシュ化@functools.lru_cache
できないため、関数を装飾することはできません。では、どうすればこれを克服できますか?
標準ライブラリのクラスとメソッドのみが必要な場合のボーナスポイント。理想的には、私が見たことのないある種のfrozendict
標準ライブラリが存在する場合、それは私の一日になります。
PS:namedtuple
構文を大幅に変更する必要があるため、最後の手段としてのみ。