In message <[email protected]>, Aahz wrote:
> In article <[email protected]>,
> Lawrence D'Oliveiro <[email protected]_zealand> wrote:
>>In message <[email protected]>, 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