[Python-Dev] Namespaces (original) (raw)
Aahz aahz@pythoncraft.com
Fri, 5 Apr 2002 19:47:06 -0500
- Previous message: [Python-Dev] Namespaces
- Next message: [Python-Dev] Namespaces
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
[After going away and thinking about this for a few days...]
On Tue, Apr 02, 2002, Martin v. Loewis wrote:
Aahz <aahz@pythoncraft.com> writes:
I'm fine with "local scope" and "object attributes" to disambiguate them; I just think it's important that people understand that a name is a name is a name, and all names live in some namespace. That isn't really true: a computed attribute lives in no namespace, instead, some function is invoked to determine the attribute value.
You're right, though I think I prefer "computed binding" to "computed attribute" (assuming you're referring to the getitem / setitem protocol). The question I'm now wrestling with is what to call bindings in general. I'm tripping over this:
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 ? (Calling it a binding sounds a little too self-referential.)
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).
Exactly. Binding operations are different from binding lookups. I'm not sure I understand your unless, though; can you demonstrate with code?
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
- Previous message: [Python-Dev] Namespaces
- Next message: [Python-Dev] Namespaces
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]