[Python-Dev] Namespaces (original) (raw)

Fredrik Lundh fredrik@pythonware.com
Sat, 6 Apr 2002 10:33:24 +0200


barry wrote:

I'm curious why setting an attribute isn't a name binding operation? Are you binding the object to the attribute name in the object's attribute namespace? Since that maps to a setting in an dict (usually), what /would/ you call it?

syntactic sugar?

A = 1 binds 1 to the name "A"

A.B = 1 calls A.__setattr__("B", 1)

A["B"] = 1 calls A.__setitem__("B", 1)

it's pretty clear that the first form differs from the others, but what's the difference between the second and the third form? or are all three name binding operations?