The C code uses PyDict_GetItem and AFAIK that doesn't look for a __getitem__ implementation in a subclass.