On Fri, Jan 28, 2011 at 11:32, Alan Franzoni <mail...@franzoni.eu> wrote:
> On Thu, Jan 27, 2011 at 11:41 PM, Daniel Urban <urban.d...@gmail.com> wrote:
>
>> Actually it can. You don't have to modify the object, just check for
>> the desired methods/signature/whatever. See for example the
>> implementation of collections.Hashable.__subclasshook__ in _abcoll.py
>> and the abc.ABCMeta.__instancecheck__ method.
>
> Mmh, I don't get your examples (subclasshook checks for *classes*, not
> instances, and ABCMeta is a metaclass whose instance is an ABC), but
> after properly looking at the PEP (__instancecheck__ seems to be
> poorly documented in python standard docs) I've seen that yes,
> __instancecheck__ on an ABC can actually be used in place of
> maybe_implemented_by and hooking into isinstance().

Exactly. I mentioned subclasshook because it is possible to define a
similar "instancehook", which would check for instances.


Daniel
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to