dictionary that discards old items
Steven Bethard
steven.bethard at gmail.com
Sat Jul 23 22:07:25 EDT 2005
[Raymond Hettinger]
>>class Cache(dict):
>> def __init__(self, n, *args, **kwds):
>> self.n = n
>> self.queue = collections.deque()
>> dict.__init__(self, *args, **kwds)
[Bengt Richter]
> Minor comment: There is a potential name collision problem for keyword n=something,
> so what is considered best practice to avoid that? __n or such as the n arg?
I don't know what best practice is, but if you want to guarantee to
avoid the name collision, you can write:
def __init__(*args, **kwargs):
self = args[0]
self.n = args[1]
self.queue = collections.deque()
dict.__init__(self, *args[2:], **kwargs)
It's not pretty though. ;)
STeVe
More information about the Python-list
mailing list