In article <mailman.1614.1255818306.2807.python-l...@python.org>, Terry Reedy <tjre...@udel.edu> wrote: >Aahz wrote: >> In article <hb01po$s5...@news.eternal-september.org>, >> Andreas Balogh <balo...@gmail.com> wrote: >>> >>> My question to the Python specialists: which one is the most correct? >>> Are there restrictions with regards to pickling or copy()? >>> Which one should I choose? >> >> What's your goal? I'd probably do the dirt simple myself: >> >> class AttrDict(dict): >> def __getattr__(self, attr): >> if attr in self: >> return self[attr] >> else: >> raise AttributeError > >Why the double lookup? Harking to another thread on using exceptions, > >try: > return self[attr] >except KeyError: > raise AttributeError(attr)
For this purpose, it's almost entirely a stylistic difference; I happen to prefer using the test, but the other way is fine, too. -- Aahz (a...@pythoncraft.com) <*> http://www.pythoncraft.com/ "To me vi is Zen. To use vi is to practice zen. Every command is a koan. Profound to the user, unintelligible to the uninitiated. You discover truth everytime you use it." --re...@lion.austin.ibm.com -- http://mail.python.org/mailman/listinfo/python-list