1

我想在字典中存储某种对象。该对象有一个名为“lastAccessDate”的属性,每当程序访问该对象时,我希望该对象的属性更新为当前系统时间,就像这样

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

程序必须通过这个api来访问对象,否则会是一个bug。我希望我可以像普通的dict一样操作dict,当我使用objectDict[key]或objectDict.get()来访问key时,它会做这个东西自动。如何在python中实现它?

4

1 回答 1

1

您可以重新实现或提供似乎使您的自定义对象成为字典的[]访问器。__getitem__如果您需要提供集合支持,请实施__setitem__

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

于 2013-01-28T03:11:02.840 回答