Why this doesn't work?
mk
mrkafk at gmail.com
Fri Feb 19 09:45:12 EST 2010
John Posner wrote:
>> a
>> False
>>
>> I expected to see 'nostatget' output: nostat.__get__ = nostatget
>> obviously failed to replace this function's __get__ method.
>
> I don't quite understand the above sentence, so I'm assuming that you
> wanted the final "is" test to be "True" instead of "False".
No. I should have described my goal in plain English in first place.
I wanted to replace nostat function's __get__ descriptor with a function
that would allow me to peek inside it (i.e. into __get__ descriptor
arguments) and that would then call original nostat.__get__.
So no, I expected it to be false, that is, I expected to replace
original descriptor with a "custom" descriptor. I just wondered why this
custom "nostatget" descriptor didn't get called even though the new
nostat.__get__ didn't seem to be its old self (so quite likely it was
the new, nostatget, descriptor).
But Bruno pointed out that I need instancemethod for that, not plain
function.
Regards,
mk
More information about the Python-list
mailing list