Creating a dict-like class that counts successful and failed key matches

Ethan Furman ethan at stoneleaf.us
Mon Jun 30 13:09:20 EDT 2014


On 06/30/2014 09:47 AM, python at bdurham.com wrote:
>>
>> Keep in mind that dict /will not/ call your overridden methods, so if,
>> for example, you provide your own __getitem__ you will also need to
>> provide your own copies of any dict method that calls __getitem__.
>
> I'm not sure I understand. Are you saying that Chris's __getitem__ will
> not be called by other dict methods that would normally call this magic
> method and instead call the parent's __getitem__ directly (via super()
> or something similar?)?

That is what I am saying.


> Is this specific to the native Dict class (because its implemented in C
> vs. Python?) or is this behavior more general.

I /think/ it's only dict, but I haven't played with subclassing lists, tuples, etc.  It's not a C vs Python issue, but a 
'implemented with __private methods' issue.  From what I have seen so far in the confusion and frustration that decision 
has caused, I do not think it was a good one.  :(

--
~Ethan~



More information about the Python-list mailing list