On Sat, Apr 06, 2002, Martin v. Loewis wrote:
> 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".
<nod> I'm willing to go along with that if others agree.
>>> 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
You left out x=X()?
> So saying that x.name yields the value from searching the name in the
> namespace of x is wrong.
Sure, no argument here. Right now, I'm trying to settle the issue of
creating bindings before getting into the topic of namespace lookups.
--
Aahz (aahz@pythoncraft.com) <*> http://www.pythoncraft.com/
"There are times when effort is important and necessary, but this should
not be taken as any kind of moral imperative." --jdecker