Barry A. Warsaw
Sat, 6 Apr 2002 00:26:37 -0500
>>>>> "A" == Aahz <firstname.lastname@example.org> writes:
A> * primary names (gotten from the lang ref), which are names in
A> the local/global/builtin namespace
A> * object names (and a module is an object ;-) AKA attributes
I'd just call these "attributes" <wink>. Okay, maybe "attribute names".
A> * computed bindings (getitem/setitem)
I'd call these "computed attributes". I don't like "computed
bindings" because that sounds like you're saying that you're computing
both the target of the binding and the object that is being bound (or
one or the other?).
A> What do we call all three of these collectively? I'd say that
A> I agree with MvL that computed bindings are not in fact names,
"Computed attributes" aren't bindings, but that only matters if you
can tell the difference. In a normal situation, if you see "obj.foo"
it may not matter that "foo" only exists by virtue of a
setattr/getattr/descriptor. I'd still claim that "foo" is an
attribute name because it's part of the public interface for obj,
albeit perhaps a virtual attribute name.
A> and as I said in my other post, using "binding" as the
A> collective noun looks ugly when we're also using it as a verb.
A> The key is to come up with some good way of saying
A> When rebinding a <foo> ...
Names get bound, so names get rebound. At least, that's how I think