私はxlwt
と一緒に働いていますが、エクセルの文書で定義できるスタイルの数には4kの制限があります。関数キャッシュのために* args ** kwargsをハッシュするには?
通常、1がそうのようなスタイルを作成します。私は単純に完璧に動作
def cached_easyxf(self, format):
return self._cache.setdefault(format, xlwt.easyxf(format))
に置き換え
style = xlwt.easyxf("font: bold 1")
を。さて、私はキーワード引数を渡す必要があることを知りました。私は、args/kwargsシグニチャをどのようにハッシュすべきですか?
str(value)に基づいてキャッシュキーを作成する必要がありますか?ピクルス?最も堅牢なのは何ですか?
私の状況について私は文字列にキー/値を変換し、私のキーに追加することができますように見える...しかし、私は今でこれを処理するための汎用的な方法についての興味はarg=[1, 2, 3]
def cached_call(*args, **kwargs):
return cache.get(what_here)
cached_call('hello')
cached_call([1, 2, 3], {'1': True})
お返事ありがとうRaymond!非常に高く評価されました –
次のように動作しますか? 'key =(args、tuple(sorted(kwds.items()))'?または内側のタプルのために遅いですか? – max
@maxはい、うまくいくでしょう。そして、はい、余分なポインタだけでなく、もう少しメモリを消費するビットを遅くなります。 –