On Saturday, April 29, 2017 at 4:20:06 PM UTC-4, Erik wrote: > It seems a little onerous that I have to put the key checks in several > places and implement each of those APIs manually again (and keep on top > of that if dict() grows some new methods that involve setting items). Is > there a compelling reason why the dict module doesn't call a custom > __setitem__ each time an item needs to be set? Performance is > undoubtably a concern with something a fundamental as dicts...
Performance is the reason. For creating your own class that acts like a dict, you should derive from collections.abc.MutableMapping, which only requires implementing __getitem__, __setitem__, __delitem__, __iter__, and __len__. --Ned. -- https://mail.python.org/mailman/listinfo/python-list