Aahz <aahz@pythoncraft.com> writes:
Rebinding a <foo> does not affect the originally bound object (unless the originally bound object's reference count goes to zero).
Any ideas about what to call <foo>? (Calling it a binding sounds a little too self-referential.)
That is a "name".
Furthermore, some attributes live in multiple namespaces. Given
obj.name
what namespace is considered to find the name? NOT the namespace of obj, alone - Python also considers the namespace of obj's class (if obj is an instance), of the base classes, etc. OTOH,
obj.name = None
modifies the namespace of obj (unless name is a computed attribute).
I'm saying that name lookup considers multiple namespaces in some cases:
class X: ... name = 1 ... x.name 1 x.__dict__.has_key("name") 0
So saying that x.name yields the value from searching the name in the namespace of x is wrong. Regards, Martin