Why is __root checked for in OrderedDict?
andrew at acooke.org
Thu Apr 7 13:13:28 CEST 2011
If you look at the code in
http://hg.python.org/cpython/file/6adbf5f3dafb/Lib/collections/__init__.py#l49 the attribute __root is checked for, and only created if missing. Why?
I ask because, from what I understand, the __init__ method will only be called when the object is first being created, so __root will always be missing.
My only guess is that this allows subclasses to do strange things without breaking the code (and if so, is a nice defensive coding pattern). But I am worried I am missing something.
More information about the Python-list