On 06/30/2014 09:47 AM, pyt...@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. :(


Reply via email to