In message <h3bogf$oo...@panix3.panix.com>, Aahz wrote: > In article <h3bagu$52...@lust.ihug.co.nz>, > Lawrence D'Oliveiro <l...@geek-central.gen.new_zealand> wrote: >>In message <h37gv5$r8...@panix3.panix.com>, Aahz wrote: >>> >>> It helps to remember that names and namespaces are in many >>> ways syntactic sugar for dicts or lists. >> >>Interesting, though, that Python insists on maintaining a distinction >>between c["x"] and c.x, whereas JavaScript doesn't bother. > > Why do you say "insists"? > > class AttrDict: > def __getitem__(self, key): > return getattr(self, key)
OK, let's try it: >>> c = {} >>> c["x"] = 3 >>> c.x = 4 Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'dict' object has no attribute 'x' >>> class AttrDict: ... def __getitem__(self, key): ... return getattr(self, key) ... >>> c.x = 4 Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'dict' object has no attribute 'x' Nope, still doesn't work... -- http://mail.python.org/mailman/listinfo/python-list