1

ある種のオブジェクトを辞書に保存したい。オブジェクトには「lastAccessDate」という属性があります。プログラムがオブジェクトにアクセスするときはいつでも、オブジェクトの属性が現在のシステム時刻に更新されることを願っています。

def getValue(key):
    obj = objectDict.get(key,None)
    if obj is not None:
        obj.lastAccessDate = getSystemDate()
    return obj

プログラムはこのAPIを介してオブジェクトにアクセスする必要があります。そうしないと、バグになります。objectDict[key]またはobjectDict.get()を使用してキーにアクセスすると、通常のdictのようにdictを操作できるといいのですが。これは自動的に行われます。Pythonで実装するにはどうすればよいですか?

4

1 に答える 1

1

カスタムオブジェクトをdictにするように見える[]アクセサーを再実装または提供できます。__getitem__セットサポートを提供する必要がある場合は、__setitem__

http://docs.python.org/2/reference/datamodel.html#emulating-container-types

于 2013-01-28T03:11:02.840 に答える