On Fri, Apr 29, 2011 at 4:05 PM, Roy Hyunjin Han <starsareblueandfara...@gmail.com> wrote: >> You can implement this in your own subclass of dict, no? > > Yes, I just thought it would be convenient to have in the language > itself, but the responses to my post seem to indicate that [not > returning the updated object] is an intended language feature for > mutable types like dict or list.
In general nothing stops you to use a proxy object that returns itself after each method call, something like class using(object): def __init__(self, obj): self._wrappee = obj def unwrap(self): return self._wrappee def __getattr__(self, attr): def wrapper(*args, **kwargs): getattr(self._wrappee, attr)(*args, **kwargs) return self return wrapper d = dict() print using(d).update(dict(a=1)).update(dict(b=2)).unwrap() # prints {'a': 1, 'b': 2} l = list() print using(l).append(1).append(2).unwrap() # prints [1, 2] _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com