[Python-3000] Thoughts on dictionary views
Delaney, Timothy (Tim)
tdelaney at avaya.com
Wed Feb 21 02:08:36 CET 2007
Guido van Rossum wrote:
>> Note that some changes to the underlying object may invalidate the
>> view, in which case using it will throw an exception.
>
> No, this only invalidates an in-progress iterator.
Yeah - that's what I meant - just couldn't think if there were any other
situations that might (at least with the standard views).
>> Note also that there is nothing preventing someone from creating a
>> view-like class that allows changing the underlying object through
>> it, but such a class should probably not be described as a view.
>
> You can also think of dict views as a straightforward application of
> the GoF adapter pattern.
Yep - and I think that would be a good secondary explanation, instantly
understandable by anyone with much programming experience.
I think it's important though to set the expectations of what a view
will normally be used for, so that any unqualified use of the term
"view" will have a common understanding. And I think that the
unqualified "view" should mean read-only.
Tim Delaney
More information about the Python-3000
mailing list